Q
Problem solve Get help with specific problems with your technologies, process and projects.

What are the best practices to keep in mind before starting a J2EE project?

What are the best practices one should keep in mind before starting off a J2EE project in the following areas:
- Designing the Architecture
- Performance and Scalability issues
- Key Design issues
- Key Configuration Management issues
- Will it be a good idea to code on Windows platform for a system destined for a Solaris platform?
I know this is too general, still any pointers would be helpful.
When beginning a J2EE project, it would be wise to adhere to most common design and implementation guidelines. Some of these include code modularity, reusability, extensibility, pattern use and data encapsulation. I strongly advocate the use of a service-oriented approach when designing and building enterprise systems. One of the most important design goals that should be met in order for a system to scale well is modularity. Since services are very loosely-coupled, they are tailor-made for dynamic, modular environments in which scalable, distributed applications must operate. Some useful links for distributed system development and service-oriented development include:

http://www.j2eeolympus.com/J2EE/J2EE.html
http://developer.java.sun.com/developer/technicalArticles/J2EE/
http://www.builder.com
http://www.zareus.com/developer/articles.html
http://www.developer.com/java/ent/

There are a number of complex issues that usually need to be addressed when building distributed enterprise systems, including concurrency algorithms, application protocols, data consistency, asynchronous request handling, distributed transactions, namespace design, access control, distributed storage, and many others. Fortunately, J2EE handles many of these issues for you. Sun has also provided a set of blueprints for building J2EE applications. These can be viewed at http://java.sun.com/blueprints/enterprise/.

Many J2EE development teams use Windows as the development platform and Solaris as the deployment platform. Since Java is platform independent, this works very nicely. However, Linux has recently improved its desktop offerings quite noticeably and many tools are now available that operate on Windows, Linux and Solaris. Some of these include:

Eclipse
NetBeans
JBoss
JDeveloper
Intellij IDEA
MagicDraw
This was last published in November 2002

Dig Deeper on Microservices pattern, platforms and frameworks

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide.com

SearchWinDevelopment

DevOpsAgenda

Close