Jason Westra

Subscribe to Jason Westra: eMailAlertsEmail Alerts
Get Jason Westra via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Java EE Journal

J2EE Journal: Article

Managing Complexity of J2EE

Managing Complexity of J2EE

There's no question about it - J2EE applications are tough, burly pieces of software. Often they require numerous servers, communicate over various protocols, and run on software from various vendors.

Let's examine a simple J2EE application in which everything, including the database, runs on one machine. In this case, the Web server and application server are a single instance of WebLogic, and the database is the one bundled with your version of WebLogic. Sounds pretty easy to manage, right? You just put your applications in the /applications directory and WebLogic deploys them for you. Database connectivity to the bundled database came out-of-the-box. Could it get any easier? Actually, it's just the opposite. It could get a lot harder.

To get closer to a production environment, let's add security in the form of SSL and a firewall. We just added two more vendors (certificate authority and firewall vendor), another machine, and another Web server install. Our application is looking more complex, yet still manageable. However, we really need a production database on its own server, so let's install a database server and configure WebLogic to point to it. If you're counting, that's another box, another vendor, another install, and a big headache trying to configure the connection settings. I'm not even done throwing hardware, load balancers, WebLogic clustering, e-mail servers, content management software, and legacy systems into the mix! Where am I going with this? My point is simply that J2EE applications are complex. They're complex to design, complex to build, and complex to manage.

What can you do to manage the complexity inherent in J2EE applications? You can focus on a number of areas to bring it to a manageable level.

First, utilize the features of your application server to their fullest potential. The BEA WebLogic Server platform is designed to make the tasks of developers and administrators a breeze. For starters, take a look at WebLogic Workshop and the WebLogic Server console. Workshop's approach to automated deployment of Web services and easy-to-use wrappers around J2EE components like JMS and EJB makes development of complex applications easier than ever. The WebLogic Server console offers administrators an easy way to configure and monitor WebLogic servers and their applications, even across clusters.

Another option is to utilize third-party software specially designed for managing Web applications. There are numerous products, such as NPULSE (www.npulse.com) AppAssure, that integrate nicely with WebLogic's JMX (Java Management Extensions) administration system. These products offer root-cause analysis to help you determine exactly where an error in your application has occurred, even across multiple servers in an n-tiered scenario. Also, they generally offer lightweight monitoring that can run alongside your production application without hindering it with bandwidth consumption, or raising your storage requirements for statistics.

A common problem encountered in large production environments is lack of clarity on the resources and machines in the data center - their purpose, their availability, and even what versions of software and applications are currently running on them. You can solve these problems and many more by utilizing a J2EE data center management platform that automates time-consuming tasks for developers and system administrators. These tasks might be tracking software versions, or configuring a Web server tier for security and virtual hosting.

Another example might be automatically configuring J2EE resources rather than requiring a system administrator or developer to maintain this skill set or knowledge base about the data center. For instance, the Evolution Hosting platform (www.evolutionhosting.com) can automatically configure JDBC connections and mail sessions so that they connect correctly without requiring you to have knowledge of server configuration files (e.g., config.xml) or the data center environment, such as ports or machines and their functions.

Together, development, system administration, and monitoring tools, along with an automated J2EE data center platform, can help manage even the largest production installations. The complexities of J2EE applications will fluctuate with requirements in scalability, security, and flexibility. At least with WebLogic as your platform you are equipped with state-of-the-art development and administration tools, and a slew of vendors whose innovative products fill the gaps.

More Stories By Jason Westra

Jason Westra is the CTO of Verge Technologies Group, Inc. (www.vergecorp.com). Verge is a Boulder, CO based firm specializing in eBusiness solutions with Enterprise JavaBeans.

Comments (1)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.