Popular Java/J2EE Development/Testing Tools
1. IDE => Eclipse/Netbeans/IntelliJ IDEA/JBuilder/JDeveloper/WSAD
2. Application Server => WebSphere/Weblogic/Sun GlassFish/Apache Tomcat/JBoss/JRun/Iplanet/NES(Netscape Enterprise Server)/NAS(Netscape Application Server) /IPLANET(It is latest version of NES and NAS)
3. Database Server => Oracle/Sqlserver/Sybase/MySql/DB2(if Application is Mainframe)
4. Middle Tier => EJB/Hibernate/TopLink/JDO/JMS/Corba(TAO,JavaOrb,OmniOrb ...)
5. Web Application Frameworks => Struts/Spring/JSF/GWT/Apache Wicket/Grails/Adobe Flex/ OpenLaszlo/SAILS/Tapestry
6. XML Parser => Xerces(Apache Parser)/JAXP(Sun Parser)
7. XSLT Parser => Xalan(Apache XSLT)/Saxon
8. JAVA XML Binding => JAXB/Castor/XMLBeans
9. Unit Testing Framework for Java => JUnit/GJTester
10. Unit Testing Framework for Servlets => Cactus/AppPerfect
11. Unit Testing Framework for Servlets/JSP/EJB => HtmlUnit/AppPerfect
12. Unit Testing Framework for Java Database Programming => SQLUnit / DBUnit / DAO
13. Java Memory Leak Tool => HeapRoots / JRockit JVM
14. Java Performance Checking Tool => Apache JMeter / JProfiler / JUnitPerf / The Grinder
15. Java Code Static Analysis Tool => ASSENT(TCS Product)/JTest
16. Java Code Coverage Tools => CheckStyle/PMD
17. Java Build Tool => Ant/Maven/Apache Ivy
18. Java Bug tracking Tool => Jira/Bugzilla/SVN Trac/QC(Quality Center)
19. Java Webservices Tool/Libraries => Jersey(RESTful) / Restllet / Axis(SOAP WebServices)
20. Java Common Utilities API => Apache Commons Library ( Please check this Library before you develop any new Java Utilities Classes)
21. Java Reporting Tools => BI Crystal Reports/Actuate/Jasper Reports/JCharts
22. Open Source UML & Modeling in Java => AgroUML/WebUML/Jude/Violet
23. Logging Tools => Log4J / Commons Logging / AspectJ / Log4plsql(Open-Source Tool for PL/SQL Logging) / jLo
24. Java Security Frameworks => Acegi, JaaS
25. Java Graph/Network Visualization Tools => Tom Sawyer / VizServer / Giny
26. Java Desktop GUI : AWT/SWING/GWT/SWT/JFace
27. Open Source Wiki Engines in Java => JSPWiki / MediaWiki
28. Web Browsers => Chrome/Mozilla FireFox/Safari/IE
29. Miscellaneous:
a. Continuous Integration/Build Tools => Jenkins / Hudson
b. Encryption/Decryption Libraries => JASYPT (Pretty good Java cryptography library to encrypt/decrypt your usernames, passwords, files ...)
c. Image API => Jai (Java Advanced API for Imaging)
d. Configuration Management Tools - Subversion / CVS
e. Java Service Wrapper (To run your java applications as a windows service)
f. Content Management System(CMS) - plone / zoomla / zope / drupal
g. Java Persistence API(JPI)
h. JCR - Content Repository API for Java (JCR) is a specification for a Java platform API for accessing content repositories in a uniform manner
i. MULE - Mule is the world's most widely used open source Enterprise Service Bus (ESB).
j. JSON - JSON (JavaScript Object Notation) is a lightweight data-interchange formatFor data-oriented applications, prefer JSON to XML due to its simplicity and ease of processing on the client side. XML may be great on the server side, but JSON is definitely easier to deal with on the client side. Popular JSON libraries are Jackson, Gson.
k. Rhino - Javascript Engine in Java
l. Apache Lucene/Solr - A high-performance, full-featured text search engine library written entirely in Java
m. JavaScript Web Frameworks - AngularJS, Dojo
n. JavaScript Unit Testing - Jasmine
Core Java Focus:
1. Core Java Fundamentals (Core Packages)
2. Collections, Generics, Reflections
3. Multithreaded Programming
4. AWT/SWING GUI Programming
5. JDBC programming
6. Network Progamming (sockets, ...)
7. HTTP Programming
8. RMI
9. JNDI
Compared to JDK 4.0 ( 1.4.4) , JDK 5.0 ( 1.4.5) has more features
1. Generics => which are like C++ STL (Standard Template Library)
2. Variable Args
3. enum
4. Auto Boxing
5. Reading Commandline Arguments
6. printf
J2EE Focus
Any Web Application Framework => Presentation Tier, Middle Tier
Examples:
1. Struts => Presentation Tier(Servlets,JSP),Middle Tier(EJB)
2. Spring => Presentation Tier(Servlets, JSP), Middle Tier(Hibernate)
...
So the common and fundamental stuff in J2EE is Servlets, JSP
Servlets => HTML code Snippets embedded with JAVA code
JSP => Java Code Snippets embedded with HTML code
So we can say Servlets & JSP in J2EE as Fundamentals of J2EE programming.
To be a good one in J2EE, You have to be proficient in atleast one Application Server & one Database Server based on the Operating System that you are going to deploy J2EE Products/Applications.
Application Server can be => WebSphere/JBoss
Database Server can be => Oracle/SqlServer ( if OS is Windows then SqlServer )
Thanks To:
Special Thanks to my wife, Roja Koney for her inspiration, contribution and continuous support to write this Java/J2EE post.
Special Thanks to Changal Rayudu , Raghavendra Sai for their immense help in developing this write-up.
1. "Thinking in Java , 3rd Edition" by Bruce Eckle - http://www.mindview.net/Books/TIJ/
2. Joshua Bloch effective Java (2nd edition) - http://uet.vnu.edu.vn/~chauttm/e-books/java/Effective.Java.2nd.Edition.May.2008.3000th.Release.pdf
3."'J2EE Web Services: The Ultimate Guide" by Richard Monson-Haefel -http://books.google.com/books?id=NNqmolbaApQC&pg=PA1&dq=j2ee&sig=ACfU3U3-RDn6uGY8QZ6DjYPT_Fb_dSPiKA#PPA885,M1
4. "J2EE Design Patterns" by William Crawford, Jonathan Kaplan -
http://books.google.com/books?id=N_cEwmcSauUC&printsec=frontcover&dq=j2ee&sig=ACfU3U0cgVRY8TUXpZc8TH31xU_4Z_XgRA
5. "Core J2ee Patterns: Best Practices and Design Strategies" by Deepak Alur, John Crupi -
http://books.google.com/books?id=1dx34EMVyi8C&printsec=frontcover&dq=j2ee&sig=ACfU3U34F4XCp2YQSIge-EQHvjjJqQcU9w#PPA11,M1
6. "J2EE and JAX: developing Web applications and Web services" by Michael Yawn -
http://books.google.com/books?id=SK0Im1uI3jsC&printsec=frontcover&dq=j2ee&lr=&sig=ACfU3U3gToC6jT-YLbNQ5WRzKgL7hlmNcQ
7. "Sun Certified Enterprise Architect for J2EE Study Guide (exam 310-051)" by Paul R. Allen, Joseph J. Bambara -
http://books.google.com/books?id=GJRKjnwYJcgC&printsec=frontcover&dq=j2ee&lr=&sig=ACfU3U3qAxMyrwvi8V26J7QYGiwp1vZkDA
8. "Sun Certified Enterprise Architect for J2EE technology study guide" by Mark Cade, Simon Roberts -
http://books.google.com/books?id=qczD49Yc9OoC&pg=PA11&dq=j2ee&sig=ACfU3U3fiZUtuhg0RHFnbFJEz5ZXu8-dlQ#PPP1,M1
9. "Core Web Programming" by Marty Hall and Larry Brown
10. "CodeNotes for J2EE: EJB, JDBC, JSP, and Servlets" by Gregory Brill
ref:
1. Open Source Software in Java - http://java-source.net/
2. Open Source Testing Tools in Java - http://java-source.net/open-source/testing-tools
3. Java/J2EE IDEs Overview - http://www.devx.com/Java/Article/34009
4. J2EE Interview Questions - http://www.geekinterview.com/Interview-Questions/J2EE
5. J2EE Overview - http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Overview.html
6. J2EE Overview - http://www.comptechdoc.org/docs/kanti/ejb/j2eeoverview.html
7. .NET vs J2EE - http://www.oreillynet.com/pub/a/oreilly/java/news/farley_0800.html
8. Java Desktop GUI - http://www.javaworld.com/javaworld/jw-04-2004/jw-0426-swtjface.html
9. Java Content Repository(JCR) API -http://en.wikipedia.org/wiki/Content_repository_API_for_Java
10. Mule -
http://www.mulesource.com/products/mule.php
http://www.theserverside.com/tt/articles/article.tss?track=NL-461&ad=645256&l=COISWithMuleandJCR&asrc=EM_NLN_3809631&uid=3048354
11. JSON - http://www.subbu.org/weblogs/main/2006/08/json_vs_xml_1.html
12. Ruby Blog - http://ola-bini.blogspot.com/2008/06/fractal-programming.html
13. Java Interview Questions -http://www.indijava.in/community/faq/java_interview_questions
14. Runtime Code Generation with JVM & CLR - http://www.itu.dk/~sestoft/rtcg/rtcg.pdf
15. JVM vs CLR memory allocation - http://benpryor.com/blog/2006/05/04/jvm-vs-clr-memory-allocation/
16. Javascript Engines : WebMonkey(in C) , Rhino(In Java) - http://www.mozillazine.org/
17. Runtime Code Generation with JVM & CLR - http://www.itu.dk/~sestoft/rtcg/rtcg.pdf
18. JVM vs CLR memory allocation - http://benpryor.com/blog/2006/05/04/jvm-vs-clr-memory-allocation/
19. PHP Frameworks - CAKE, ZEND, SYMFONY
20. Java Server Magazine - http://www.javaskyline.com/