J2EE « J2EE Enterprise « Java Articles

Java Articles
1. Build Deploy
2. Class
3. Core Library
4. Data Types
5. Database JDBC
6. Design
7. Development
8. File Input Output
9. Graphics Desktop
10. J2EE Enterprise
11. J2ME Wireless
12. JVM
13. Language
14. Library Product
15. Network
16. Security
17. SOA Web Services
18. Test
19. Web Development
20. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Products
Java by API
Photoshop Tutorial
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Articles » J2EE Enterprise » J2EE 
1. J2EE project execution: Some best practices
"Even though we all face similar issues in most of our projects, we still lack defined ways of tackling them. Throughout my years in software development, I have used some solutions to the recurring problems that plague most of my development projects, solutions that have really helped me effectively execute projects. In this article, I share with you three best practices for project execution, some of which could be considered full-fledged patterns:"

2. Sun releases Java EE 5, promises openness
"The Java Enterprise Edition 5 release (Java EE 5), billed by Sun as the most significant update in six years, supports a number of important Web services standards and is designed to be easier to use than its predecessor, called J2EE."

3. Create an application-wide user session for J2EE
"Thanks for sharing article and source code application-wide user session for J2EE...By indoto on December 8, 2008, 1:27 amThanks for sharing article and source code application-wide user session for J2EE.When I downloaded "DemoServiceDelegate" java file is missing in the zip. Please..."

4. J2EE design decisions
"This book is about implementing enterprise applications using design patterns and lightweight frameworks. To enable you to use them effectively in your application, it provides a decision-making framework that consists of five key questions that must be answered when designing an application or implementing the business logic for an individual use-case. By consciously addressing each of these design issues and understanding the consequences of your decisions, you will vastly improve the quality of your application."

5. Solving common Java EE performance problems
"In much the same way, I spend the first day of a tuning engagement interviewing my clients. During this interview, I look for known problems as well as architectural decisions that may negatively affect the performance of the application. With an understanding of the application architecture and the symptoms of the problem, I greatly increase my chances of resolving the problem. In this chapter, I share some of the common problems that I have encountered in the field and their symptoms. Hopefully, this article can serve as a troubleshooting manual for your Java EE environment."

6. Improve the quality of your J2EE-based projects
"Many people incorrectly judge Java/J2EE-based systems on problems associated with maintaining the codebase, the number of bugs or inconsistencies in functionality, or poor performance. Fortunately, these problems have less to do with the Java/J2EE technology itself and more to do with the lack of a process focused on the quality of the system. To ensure success of large-scale Java/J2EE projects developed by a sizeable team, or across multiple teams, a team lead must:"

7. Exception management and error tracking in J2EE
"This article presents yet another framework for exception handling, which extends the enterprise-wide application session facility presented in "Create an Application-Wide User Session for J2EE" (JavaWorld, March 2005). J2EE applications that use this framework will:"

8. Software Infrastructure Bottlenecks in J2EE
"Scalability is one of the most important non-functional requirements of a system. But there could be several bottlenecks within a system, which might prevent it from being scalable. In this article, we try to analyze the case in which the software infrastructure becomes a bottleneck, long before any of the hardware resources (such as CPU, memory, disk space, and network speed) are fully consumed. This is a tricky problem whose solution is explored below."

9. J2EE Without the Application Server
"J2EE-based applications have become very successful in the enterprise market, despite the notorious complexity of both the J2EE platform (the application server) and its proposed programming model (Enterprise JavaBeans, or EJB). Thanks to modern notions like inversion-of-control (IoC) and aspect-oriented programming (AOP) represented in lightweight containers like the Spring framework, the programming model for J2EE can be made a lot simpler and more elegant. Nevertheless, even with these tools, the application server still remains an important source of complexity and cost. This article proposes a further simplification of J2EE, by showing a way to eliminate the overhead of the runtime platform: the application server. In particular, this article shows that many applications no longer need an application server to run. As a result, J2EE applications become:"

10. Configuration Management in Java EE Applications Using Subversion
"The most critical asset of any enterprise application is the data that it stores. Today's enterprise applications are often required to not just store data, but also keep track of all the changes that are made. This expectation also permeates into an associated set of requirements, such as tracking the reason for each change, the time of the change etc. In many cases, the data tracking requirements apply to data that applications store in the form of documents. Using Subversion can help satisfy these complicated, albeit common, requirements."

11. J2EE Connector Architecture
"This article discusses some of the challenges of legacy system integration, then introduces the J2EE Connector Architecture (J2EE CA) and explains how it can significantly reduce the problems of integrating your legacy system. It also offers a comprehensive example of how to use the current version of J2EE CA, version 1.0, to access a common transaction-processing platform from a Java 2 Enterprise Edition (J2EE) platform application. This article concludes with an overview of the upcoming new release of J2EE CA, version 1.5, and explains some of the additional features and benefits introduced in this new version. This article assumes that you have a working knowledge of Java and J2EE."

12. Using Dependency Injection in Java EE 5.0
"Dependency injection is the inverse of JNDI. It lets you declare dependencies and lets the Java EE container handle the complexities of service or resource instantiation and initialization when the resource is required. Based on the declaration of resources using annotations or deployment descriptors, the Java EE 5.0 container injects an instance of the resource when it's required. Figure 1 compares JNDI with dependency injection:"

13. J2EE Blueprints Unrolled
"Blueprints is a developer outreach program from Sun Microsystems' Java Software division. This program provides architectural recommendations and design guidelines that help Java developers most effectively use the J2EE platform and its various technologies. This article will explain"

14. Introducing [fleXive] - A Complementary Approach to Java EE 5 Web Development
"At its heart [fleXive] is a pure Java EE 5 application, the core is made up of EJB3 beans, sharing common states and configuration using a clustered cache (including out-of-the-box support for JBoss Cache 2.x with pluggable interfaces that could be used for other providers like GigaSpaces or Coherence), while the web layer is based on JSF using Facelets, Richfaces/Ajax4JSF, and the Dojo toolkit. As a persistence alternative to JPA/Hibernate (which can be used as well of course) [fleXive] comes with its own persistence implementation offering some advantages like integrated ACL based security, versioning, support for multilingual data types, inheritance, and reuse. The persistence framework is not intended as an object-to-relational mapper, but rather as generic objects with all instance data accessible using XPath-like statements or traversing object graphs."

15. An Exception Handling Framework for J2EE Applications
"In most Java projects, a large percentage of the code is boilerplate code. Exception handling comes under this category. Even though the business logic may be just three or four lines of code, exception handling might go on for ten to 20 lines. This article talks about how to keep exception handling simple and straightforward, keeping the developer's plate clean for him to concentrate on business logic rather than devoting time to writing exception-handling boilerplate code. It also gives the basis and guidelines to create and deal with exceptions in the J2EE environment and targets some of the business problems, in which exceptions could be used to resolve them. This article uses the Struts framework as the presentation implementation, though the approach is applicable to any presentation implementation."

16. Constructing Services with J2EE
"Web services are now a popular technology for implementing service-oriented applications. J2EE has become a popular platform to deploy web services applications. And J2EE 1.4 standardized building and deploying web services applications for the Java platform."

17. Designing J2EE Applications for Real-Life Clustered Environments
"So the big question for architects and developers of J2EE applications is: "Is there nothing we can do to ensure that the J2EE application being developed and tested on a standalone server will run on a cluster without any code changes?" The answer is that you can write cluster-ready J2EE applications; however, you need to be aware of the differences between standalone and clustered environments and ensure that you do not make any assumption about the single-process nature of an application. In this article, the authors draw from their practical experience to list and discuss some critical considerations when building J2EE applications so that they can be deployed in a clustered environment without requiring any code changes."

18. Monitoring Session Replication in J2EE Clusters
"Each application server allows you to customize different aspects of a cluster. Two examples are the replication scope ("How many nodes do I want to share my session across?") and the replication trigger ("When do I want to replicate the information?"). However, once a cluster is up and running, it is usually difficult to analyze its behavior. The reason for this is that application servers use low-level APIs to implement their clusters and do not expose any metrics about what's going on underneath the application's code."

19. Under the Hood of J2EE Clustering
"More and more mission-critical and large scale applications are now running on Java 2, Enterprise Edition (J2EE). Those mission-critical applications such as banking and billing ask for more high availability (HA), while those large scale systems such as Google and Yahoo ask for more scalability. The importance of high availability and scalability in today's increasingly inter-connected world can be proved by a well known incident: a 22-hour service outage of eBay in June 1999, caused an interruption of around 2.3 million auctions, and made a 9.2 percent drop in eBay's stock value."

20. Java EE 6 Overview
"The details of Java EE 6 have been getting hashed out for quite a few months in the JSR 316 expert group, which I am part of. The goal of this article is to give you an overview of the changes in Java EE 6 as well as encourage your feedback. Besides the work of the JSR 316 expert group itself, I?ll also discuss the JSRs that are likely to comprise this release of the platform. Java EE 6 has now released its public review draft and is well on the road to be finalized after the official public review date is over on February 23. This means that this is the best time to provide feedback but providing feedback soon is very important."

21. J2EE Project Management: Critical measures when beginning a J2EE project
"Dividing up your J2EE team is one of the most critical decisions youll make. When assembling a J2EE project team, you have two basic choices:"

22. Selecting a J2EE Vendor
"Many J2EE solutions exist, the EJB-SIG located at http://www.mgm-edv.de/ejbsig/bm_ejb.html provides a comprehensive list of those that at least support Enterprise Java Beans, a significant component of J2EE and this should be reviewed by an organisation before taking any further steps - to at least ensure that a decent representation of vendors is taken into consideration. Another site dedicated to J2EE solutions exists at http://www.theserverside.com."

23. Advanced Classloading in J2EE
"As an example, take a J2EE app that requires a particular version of Xerces. The application server may already load another version of Xerces and provide this to the J2EE apps as part of the JAXP requirement. In the case the J2EE app does not want to use the JAXP parser provided by the application server, but rather use its own, this can be problematic. The standard Java classloading mechanism will normally serve the version of Xerces loaded by the application server, because the application server classloader exists higher in the classloading hierarchy."

24. Speeding Up J2EE Development and Increasing Reusability Using a Two Level Domain Model
"This article describes a design strategy that accelerates development and improves reusability by structuring the domain model into two levels - a Plain Old Java Objects (POJO) [FOWLER] level that implements the business logic and an entity bean level that implements the persistence."

25. The J2EE Architect's Handbook on TheServerSide.com
"?The J2EE Architect's Handbook can justifiably be considered to be the "bible" for J2EE based application designers and project managers.? -- The Midwest Book Review (7/2/2004)."

26. Transforming Legacy Systems to J2EE Architecture
"This document is a living reference document for anyone involved in the design and architecture for organizations to transform their legacy systems to Java 2 Enterprise Edition (J2EE) based applications."

27. J2EE vs. Microsoft.NET
"Microsoft.NET8 is product suite that enables organizations to build smart, enterprise-class web services. Note the important difference: .NET is a product strategy, whereas J2EE is a standard to which products are written."

28. Integrating Space-Based Architecture with J2EE
"JavaSpacse-based architectures continued to gain attention in recent years as clusters of rack-mounted servers brought some commoditization to a type of computer architecture that was once the province of only the best-funded computer shops."

29. J2EE Platform Independence: Have We Regressed?
"Once upon a time there was a dream. The dream was of creating cross platform products. Ones that transcended the boundaries imposed upon us by entities known as Intel or DEC or even Silicon Graphics. From that dream, two technologies were inevitably born: those of Java and CORBA."

30. J2EE Best Practices
"This whitepaper will teach you the best practices that will help you get the most reliability and scalability out of your J2EE based application and the most productivity out of your developers. It covers all elements of the software development cycle, from design through deployment."

31. The Benefits of Java EE5
"From its inception more than a decade ago, the Java platform has matured considerably making it the preferred choice of many professionals & organizations for developing applications. In its most recent version for the enterprise -- dubbed Java EE 5 -- its designers have placed a special emphasis on doing more with less, so whether you're a seasoned expert or just starting out, it's likely you will find some fresh approaches that will simplify and ease your development efforts ? this article takes a closer look."

32. j1-2k8-mtH08: Underworld - the Java EE 5 Backend For Wonderland
"Wonderland is an interesting 3D collaboration application. It uses the darkstar server as backend. Project Underworld's goal is porting the Wonderland's communication and persistence layer to Glassfish v2 (later v3) to leverage its non-functional capabilities like monitoring, management, deployment and scaleability. In this shorttalk, especially the architecture and design, as well as, challenges, hacks, and workarounds will be discussed."

33. Using Annotations on the Java EE 5.0 Platform
"Dependency injection is a mechanism in which a component's dependencies are supplied by the container. The dependency on a resource is marked using annotations or declared in the deployment descriptor file. Dependency injection (aka "resource injection") is nothing but the inverse of JNDI. Instead of the component explicitly requesting a resource, now the Java EE 5.0 container injects an instance of the resource when it's required. The injection could be at the field level or at the method level (typically on a setter method). The Java EE 5 platform defines annotations to support a variety of injections."

34. Validate Java EE Annotations with Annotation Processors
"The annotation facility is widely used in Java EE 5 and other frameworks, but it needs a validation facility to check the semantic constraints. apt is a great tool for creating annotation processors to validate EE annotations at build time. The apt-based, build-time annotation validation is complementary to run-time reflection-based validation. It is especially useful when the annotations are not available at run time. The upcoming JSR-269 defines a standardized annotation process API to supersede the apt API. The new annotation processing API is easy to use and preferred, even though apt remains supported in the next release of Java."

35. j1-2k7-mtW03: Rearchitecting Legacy J2EE Applications with Spring & Hibernate
"This talks presents hints and tips on using the refactoring core J2EE functionalities with the Spring Framework. In particular Peter will talk about refactoring legacy EJBs into Spring-EJB, whilst through 10 days of staged new employment activity. He will advise how to manage those multiple application context files. He will describe the best probably avenues to get your IT workshop and management teams to think about using and/or doing more Agile development techniques. You have had some knowledge of Spring Framework beforehand, but don't worry if you are not very familiar, because it will be fun experience regardless."

36. AppFuse: Start Your J2EE Web Apps
"One of the hardest parts about J2EE development is getting started. There is an immense amount of open source tools for web app development. Making a decision on which technologies to use can be tough -- actually beginning to use them can be even more difficult. Once you've decided to use Struts and Hibernate, how do you go about implementing them? If you look on the Hibernate site or the Struts site, you'll probably have a hard time finding any information on integrating the two. What if you want to throw Spring into the mix? As a developer, the best way for me to learn is by viewing sample apps and tutorials that explain how to extend those applications. In order for me to learn (and remember) how to integrate open source technologies such as Hibernate, Spring, Struts, and Ant/XDoclet, I created AppFuse. The beauty of AppFuse is you can actually get started with Hibernate, Spring, and Struts without even knowing much about them. Using test-driven development, AppFuse and its tutorials will show you how to develop a J2EE web application quickly and efficiently."

37. J2EE clustering, Part 2
"Wrap it all up This article has given you an applied understanding of clustering. You've learned how to set up, program for, and maintain J2EE clusters. You've seen the issues related to clustering, as well as possible solutions. With this practical knowledge, you can set up a working J2EE cluster."

38. Mashup Styles, Part 2: Client-Side Mashups in the Java EE Platform
"In this article, the focus shifts to client-side mashups. You'll learn how a client-side mashup works, see an example of a client-side mashup in Pet Store -- as is the case in the previous article, this article refers to the Java Pet Store 2.0 application simply as Pet Store -- and explore some of the onsiderations related to the client-side mashup style. In addition, you'll learn how to make services and content on your site available to others for use in client-side mashups."

39. High Availability for J2EE Platform-Based Applications
"No official definition exists for a J2EE platform-based cluster, and each vendor of products for this platform has a different implementation. In this article, we are referring to a set of J2EE platform-based application servers working together to provide high availability and scalability for enterprise applications."

40. Better Programming With Java EE: A Conversation With Java Champion Adam Bien
"Adam Bien Adam Bien's Blog From Java Platform Improvements to Better Teaching: A Conversation With Java Champion Cay Horstmann Java Champions NetBeans Dream Team Becoming a Better Programmer: A Conversation With Java Champion Heinz Kabutz Java Champion Geert Bevin and His Work With JavaScript Java EE at a Glance Writing Javadocs"

41. Design Patterns for Optimizing the Performance of J2EE Applications
"Multitiered J2EE applications consist of components communicating across tiers to access/change data. This often leads to remote calls between application clients/JSPs/servlets and EJBs or between EJBs. Such remote calls are costly and affect the performance of the application as a whole. An increase in the number of such remote calls increases network traffic too. Moreover, for all the advantages that EJBs offer, they come with a small price. The following three design patterns suggest good solutions to minimize some of the performance costs in typical J2EE applications."

42. Update: An Introduction to the Java EE 5 Platform
"This white paper is based on the article "Introduction to the Java EE 5 Platform," which originally appeared on the java.sun.com site in February 2006. This version includes data from two studies that compared development on Java 2 Platform, Enterprise Edition (J2EE) 1.4 with Java Platform, Enterprise Edition (Java EE) 5 and a new section on packaging Java EE 5 platform applications. The sections on web service support and JavaServer Faces technology have been greatly expanded, with two new JAXB 2.0 examples and an extensive JavaServer Faces example."

43. Web Tier to Go With Java EE 5: A Look at Resource Injection
"To understand how resource injection makes life easier for developers, let's look at how applications accessed resources prior to support for resource injection and how the Java EE 5 platform has simplified this access. In the past, accessing data sources, web services, environment entries, and EJB software references required the use of boilerplate code. For example, the code required to access the container-managed data source javax.sql.DataSource would look like this:"

44. Hands-On Java EE
"The application used in these articles is derived from the Duke's Bookstore application, included in the Java EE 5 Tutorial. The application has been extracted from the tutorial for use in these articles."

45. The J2EE Connector Architecture's Resource Adapter
"This paper is intended for EIS vendors and developers that want to learn more about the resource adapter component of the connector architecture before delving into the Java 2 Platform, Enterprise Edition (J2EE) Connector Architecture specification. While the connector architecture is mentioned to illustrate how the resource adapter component fits into the overall scheme, most of the paper concentrates on the resource adapter. Benefits of implementing a resource adapter, as well as implementation details and specification requirements, are discussed. Pseudo-code is given to illustrate how an EIS vendor might implement a resource adapter."

46. Sun's BluePrints for J2EE
"As part of the official J2EE launch in December, the APM has been renamed the "Sun BluePrints Design Guidelines for J2EE." The new name reflects its inclusion in Sun's BluePrints best-practices series of articles and whitepapers. But because "Sun BluePrints Design Guidelines for J2EE" is too long to write over and over, I'll continue to refer to the document as the APM. The final version of the J2EE BluePrint document will be published by Addison-Wesley sometime this year."

47. Web Tier to Go With Java EE 5: Summary of New Features in JSP 2.1 Technology
"In this series of articles, web-tier proponents at Sun introduce the new concepts that every web-application developer should be familiar with to get the most out of the Java EE 5 web-tier technologies. This first article in the series gives an overview of the new features introduced in version 2.1 of JSP technology."

48. J2EE Blueprints Digest
"This article is a digest of the J2EE Blueprints to introduce you to the programming model and help you get started. You can go to the J2EE downloads page for a PostScript or PDF version of the book or to download the example pet store application. The printed book will be available in June 2000."

49. Using the J2EE Connector Architecture Common Client Interface
"This article describes the J2EE Connector architecture Common Client Interface (CCI) API. The CCI provides the access from J2EE clients, such as enterprise beans, JavaServer Pages (JSP) technology, and servlets, to an underlying enterprise information system (EIS). The J2EE Connector architecture, and the CCI API, are currently available as a beta release."

50. Web Tier to Go With Java EE 5: Summary of New Features in JavaServer Faces 1.2 Technology
"Web Tier to Go With Java EE 5: Summary of New Features in JSP 2.1 Technology, Part 1 in the series Web Tier to Go With Java EE 5: Summary of New Features in JSTL 1.2 Technology, Part 2 in the series JavaServer Faces Technology JSR 252: JavaServer Faces 1.2 JavaServer Pages Technology Hans Bergsten's article on the incompatibilities between the JSP and JavaServer Faces technologies Unified Expression Language Java Forums -- JavaServer Faces Technology Public IRC chat room: See Community heading"

51. J2EE Application Client
"The Java 2 Enterprise Edition (J2EE) reference implementation provides a way for you to write, test, and deploy application clients. A J2EE application client is a standalone program launched from the command line or desktop, and typically accesses Enterprise JavaBean programs running on the J2EE application server."

52. Web Tier to Go With Java EE 5:
"The first article in the "Web Tier to Go With Java EE 5" series, "Summary of New Features in JavaServer Pages (JSP) 2.1 Technology," introduced the new unified expression language. This fifth article of the series explains"

53. The Advantages of the Java EE 5 Platform: A Conversation with Distinguished Engineer Bill Shannon
"To get an update on the Java EE 5 platform, we met with Java EE specification lead Bill Shannon, a Distinguished Engineer at Sun Microsystems. Shannon has been with Sun since 1982 and previously worked on the JavaMail API, the HotJava Views product, the Common Desktop Environment (CDE), the Solaris Operating Environment, and all versions of SunOS. He graduated from Case Western Reserve University with an MS in Computer Engineering."

54. What's New in the J2EE Connector Architecture 1.5 (Part 2)
"This article is intended for EIS vendors, messaging providers, and developers who want to learn more about the Message Inflow and Transaction Inflow contracts that were introduced in the latest version of the Java 2, Enterprise Edition (J2EE) Connector Architecture (Connector 1.5). Since this article is the second in a two-part series, the resource adapter and system-level contracts will not be discussed in detail. This information can be found in Part 1 of this article, which was published in March 2003. Instead, I'll focus solely on the two new contracts. Implementation details and specification requirements will be covered, and pseudo-code will be examined to see how an EIS vendor or messaging provider might implement the new contracts for a Connector 1.5-compatible resource adapter. The new Connectors v 1.5 can be found in the J2EE 1.4 SDK or in the J2EE 1.4 Application Server. Download it for free at http://java.sun.com/j2ee/1.4/download-dr.html."

55. The Top Five Reasons to Choose J2EE as Your Application Server Platform
"But how good is it as an enterprise application server platform? Judge for yourself: This article gives you five reasons why the J2EE platform continues to be the application-server platform of choice."

56. What's New in the J2EE Connector Architecture 1.5
"In version 1.5 of the J2EE Connector Architecture, there are more contracts that a resource adapter must support, as new functionality and features made their way into the specification. A resource adapter can support these four new contracts by implementing the required interfaces defined in the specification for each contract."

57. Clustering J2EE with Jini
"Have an opinion about clustering, remote objects, JRun, or Jini? Discuss this article in the News & Ideas Forum topic, Clustering J2EE with Jini"

58. Java EE 6
"Frank Sommers: The JSR for Java EE 6, JSR 316, was submitted to the JCP in July. What are the main themes for EE 6?"

59. The COR Pattern Puts Your J2EE Development on the Fast Track
"With COR, you can fast-track your J2EE development so that your developers spend less time building infrastructure (Beans, facades, facade implementations, and service locators) and more time solving real business problems."

60. The Work Manager API: Parallel Processing Within a J2EE Container
"Until recently, performing parallel processing directly within a managed environment (J2EE container) was not advisable. Thankfully, IBM and BEA came up with a joint specification that resolves this problem. This JSR is named "JSR-237: Work Manager for Application Servers". JSR-237 specifies the Work Manager API, which provides abstraction from the lower-level APIs that enable an application to access a container-managed thread. Work Manager API also provides a mechanism to join various concurrent work items, so an application can programmatically add the dependency of work completion as a condition for starting other tasks. This can be useful for implementing workflow types of application. These features were difficult to implement prior to Work Manager."

61. Java EE 5.0: Towards Ease of Development
"One of the main goals of the upcoming Java EE 5.0 release is to keep the power of J2EE, while making common development tasks simpler. To accomplish this, Java EE 5.0 aims to provide better default behavior and configuration by allowing most containers to get what they want from the application without using deployment descriptors. Java EE 5.0 puts annotations to great use for this purpose. Although developers don't need to know the implementation details (the containers do the bulk of the implementation work), these new features will make enterprise Java applications lighter and faster."

62. Leveraging EJB Timers for J2EE Concurrency
"This article introduces an alternative approach for J2EE concurrency that takes advantage of the inherent thread pool management of EJB timers. This approach is portable across application servers and does not require a messaging provider and resources such as queues and connection factories. Furthermore, since EJB timers are transactional and recoverable, this approach enables robust and reliable concurrency solutions."

63. Create and Manage Multiple J2EE Deployment Descriptors During your Build Cycle
"Commercial build tools are available that can automate your J2EE build process including the creation of multiple deployment descriptors. In some cases a commercial solution is best as it can be easily repeated for any J2EE application, not just custom-written for a single J2EE application. If a commercial tool is not an option, consider a scripted solution that builds all .wars and .ears needed for the lifecycle in a single build pass. This ensures that the same source is used to create each unique .war and .ear."

64. J2EE Design Strategies That Boost Performance
"Design with Performance in Mind Unless you consider and factor performance into your user interfaces, designs, and development processes up front (including testing early and often), you'll likely hit problems sooner or later. The key to good performance is to understand your performance goals up front. Understand the number of concurrent users, target response times, usage patterns, and data growth. Know how your application is going to be used: which parts of the system are session-based and which are non-session or batch-based. That way you can structure your architecture to meet your needs."

65. Data management and persistence in J2EE applications
"This article discusses two data management strategies available with the J2EE: Java object serialization and Java Database Connectivity (JDBC). We'll look at the strengths and weaknesses of both of these approaches. No data management strategy is inherently superior or inferior to others. The applicability of a strategy in a particular implementation depends on the scope (the spectrum of activities occurring in the system environment) of the project, the context of the system (the set of values that drive the runtime of the system/subsystem), and other external factors. However, Java serialization is ill-suited for enterprise systems in which data needs to be organized in a well-defined structure (for example, an RDBMS). We'll first walk through a quick overview of Java object serialization, then walk through some of the more important aspects of JDBC to see how the latter implements crucial features that the former lacks."

66. Getting on the open road: J2EE fundamentals for ASP developers
"Are you an ASP developer looking to port an existing e-business application to J2EE or writing a new J2EE application from scratch but don't want to suffer from "information overload" to get started? Then this roadmap is for you. This roadmap is specifically designed for ASP developers looking to make the jump to J2EE, a platform independent set of open standards for developing Web applications and other types of distributed applications in the Java language. Along the way we'll introduce you to J2EE, programming in the Java language, developing J2EE Web applications, and relate it to what you already know from your experience writing ASP, COM objects, and ISAPI filters for IIS and the Windows environment."

67. Geronimo! Part 2: Tame this J2EE 1.4 bronco
"Geronimo is the Apache Software Foundation's open source J2EE 1.4 server, born in 2003. Part 1 of this two-part series described Geronimo from a system-design standpoint, examined its architecture, probed some key structural concepts, and introduced basic user terminology. Now continue the Geronimo tour and explore the server's deployment, configuration, and management capabilities in some detail."

68. Dependency injection in Apache Geronimo, Part 1: A new way to look at decoupling in J2EE applications
"While these ideas are old, we keep finding new ways to realize them in Java? technology. The latest round of decoupling, dependency injection, reflects the ideals stated above. Like many new concepts implemented in different ways in different places, a lot of confusion has arisen between the concept and the implementation. In this two-part article series, I discuss the concepts of DI (also known as Inversion of Control, or IoC), then demonstrate how it's implemented in Apache Geronimo."

69. Authorization concepts and solutions for J2EE applications
"This article described some of the issues involved with authorization for J2EE applications, along with some of the existing standard capabilities of WebSphere Application Server and other J2EE application servers. It is in your best interest to use existing standards wherever possible. When they do not provide the complete solution, it is wiser to use them as far as they are useful and then extend their capabilities, rather than replace them entirely with custom solutions. Authorization is a complex and difficult topic, so think carefully about the issues."

70. Deploy J2EE applications on Apache Geronimo
"Follow along with the steps for deploying simple J2EE applications on computers running Apache Geronimo, and find out how similar the steps are to those for any other J2EE-compliant application server. While this article focuses mainly on how to deploy EJBs on Apache Geronimo, you'll also learn about JSPs and servlets. This article assumes that you know how to write and deploy EJBs in another J2EE container, such as IBM WebSphere® Application Server, JBoss, or WebLogic."

71. J2EE pathfinder: J2EE technologies for the stateful network
"In the first installment of the J2EE pathfinder series, we began an exploration of the current technologies for state management in J2EE. Last month, we discussed the best options for managing stateless networks in J2EE; this month we'll talk about the technologies for managing stateful ones."

72. Introduction to the J2EE Connector Architecture
"This tutorial provides an overview of the Java? 2 Enterprise Edition (J2EE) Connector Architecture (JCA). The tutorial starts with a high-level look at JCA, including the base elements of the architecture. You'll explore each of these elements in detail, with step-by-step descriptions and examples. The course closes with a sample application that will help you see how all the parts of a JCA-compliant and enabled system work together."

73. J2EE pathfinder: Persistent data management, Part 1
"The information age has put tremendous emphasis on the use of distributed enterprise computing platforms. On such platforms, data must be protected at all cost and must persist indefinitely, even in the face of network failures, memory leaks, and server crashes. To maintain this type of persistence, application components must be capable of handling concurrency, connection management, data integrity, and synchronization. All three of J2EE's data management technologies handle these functions for the developer, although each one handles them somewhat differently."

74. Getting on the open road: J2EE fundamentals for .NET developers
"Are you a .NET developer looking to port a .NET e-business application to the Java 2 Platform Enterprise Edition (J2EE)? Or, do you need to write your first J2EE application from scratch? Either way, this roadmap is for you. It's designed specifically for .NET developers who want to make the jump to J2EE, a platform-independent set of open standards for developing Web and other types of distributed applications in the Java language. We'll introduce you to programming in the Java language and developing J2EE Web applications. Better yet, we'll relate this information to concepts and techniques you already know from your experience writing .NET applications."

75. WSDM for J2EE provides next-generation management
"How are the two standards for software management related to each other? Are they complimentary or overlapping? Is there any benefit to combining the two? In the case of WSDM and J2EE, there is a very substantial benefit in combining the two management specifications:"

76. J2EE pathfinder: Persistent data management, Part 2
"Application components fulfill requests for business services. To fulfill these requests, they often must change the state of the underlying datastore. It is imperative that those changes do not compromise the integrity of the persistent datastore. (In the first article on data persistence, we defined a persistent datastore as an independent data repository capable of preserving its data even in the event of a server crash or network failure.) To ensure persistence, application components must be capable of handling concurrency, connection management, data integrity, and synchronization. All three of J2EE's data management technologies handle these functions for the developer, although each one has its own way of doing so."

77. Geronimo! Part 1: The J2EE 1.4 engine that could
"The goal of J2EE certification is both a blessing and a curse for the Geronimo project (see The toll of certification). In order to be certifiable, Geronimo must support all mandatory features described in the J2EE 1.4 specification (see Resources). The specification refers to a collection of other specifications that also have their own mandatory clauses. Figure 1 gives you some idea of what Geronimo must implement before qualifying for certification."

78. J2EE pathfinder: J2EE technologies for the stateless network
"We'll begin by briefly discussing the qualities of the stateless (as opposed to stateful) network, then talk in detail about the pros and cons of each of our two stateless technologies. We'll close the article with a broad look at the most common application setups you will encounter in J2EE enterprise programming, and the best technology solutions for each setup given our two options."

79. Migrating Java EE projects to IBM Lotus Expeditor V6.1
"IBM Lotus Expeditor is an offering from IBM that eases Java™ Platform, Enterprise Edition application extension to clients with a familiar programming model. IBM Lotus Expeditor Toolkit enables rapid application development and deployment by eliminating the need to rewrite Java EE projects to run on the Lotus Expeditor runtime. In this article, we demonstrate how you can achieve this."

80. Three, two, one...Geronimo!, Part 1: J2EE made simple
"J2EE is a platform-independent environment designed for developing and deploying Web-based applications for enterprise-wide use. The platform has been likened to a meta language or language superset. But at its core, J2EE is simply the Java programming language and a specific, minimal set of Java classes. (See Resources for a link to the class documentation for J2EE.)"

81. Use Derby in a J2EE Server environment
"The J2EE Server provides for network communications and security that can be configured to the needs of the system. The Derby engine does not duplicate these functions but readily takes advantage of these services in a Server environment. Much of the code of many database system binaries provides for system security and networking that is redundant in a J2EE system. The Derby footprint remains small because the libraries do not contain this code. When embedded in a J2EE Server, a fully functional JDBC-compliant resource manager is installed by adding a single 2 MB jarfile to the system."

82. Developing long term strategies for using Java EE technology
"One example of success has been the freezing of JAX-RPC and a new specification (JAX-WS) being opened as its successor, thereby preventing incompatible changes to JAX-RPC. This won't change the long term need to migrate to a current API, but it will prevent the short term requirement for that. Freezing a specification enables you to recognize when a given set of APIs are viewed as non-strategic, but it will not affect the behavior of your existing applications that you might have built using that technology. Preservation of customer investment is one of the priority objectives that IBM attempts to achieve by participating in standards."

83. Java theory and practice: Coaxing J2EE out of the container
"For the most part, Java applications are either J2EE applications or J2SE applications, and there's no ambiguity about which. J2EE applications require the services of a J2EE container, which implements a long list of J2EE APIs, including Enterprise JavaBeans (EJB), JTA, JNDI, JMS, JCA, and JMX. The J2EE APIs are designed to work together; after all, the J2EE design is the product of distilling out common requirements from hundreds of man-years of experience developing enterprise applications. Like all frameworks, a primary motivation for the J2EE APIs is "don't reinvent the wheel.""

84. J2EE pathfinder: The many uses of implicit objects
"This installment of J2EE pathfinder is a follow-up to last month's introduction to the proper handling of session scopes. In addition to accessing session scopes, JSP implicit objects can be used to handle HTML parameters, forward a request to a Web component, include the content of a component, log data through the JSP container, control the output stream, handle exceptions, and more."

85. J2EE Packaging and Common Code
"It is important to note that the benefits of reuse are independent of this issue. Whether the code is shared at run time or not, applications can still use a common set of code libraries that are developed elsewhere and still provide the usual benefits of reuse. This issue is about runtime packaging, not reuse."

86. J2EE pathfinder: Create and manage stateful Web apps
"In this article, we'll follow up on the second installment in this series, "J2EE technologies for the stateful network," in which you learned some of the basics of stateful application development in J2EE. This time, we'll focus less on the big picture and more on how we create and manage a stateful user experience."

87. Using DB2 Information Integrator for J2EE Development: A Cost/Benefit Analysis
"We heard that same story, too. We listened while colleagues discussed IBM's new DB2® Information Integrator, a product designed to provide a single-site image of data residing on different platforms, stored in different formats, and accessible through different application programming interfaces (APIs). And we wondered just what this technology might do for J2EE programmers tasked with building Web components that needed to work with disparate data."

88. J2EE pathfinder: All columns
"Several J2EE pathfinder installments have been written since this developerWorks column debuted in February 2003. You can browse through all the J2EE pathfinder columns, starting with the most recent, in these continually refreshed lists:"

89. Java EE meets Web 2.0
"In a Web 2.0 context, mash-up applications frequently use services and feeds exposed through an SOA's service APIs (see Java EE meets SOA). These applications need to consume services in a B2C context. For example, a mash-up might pull data ? such as weather information, traffic information, and a map ? from three unique sources. The time required to retrieve these three unique pieces of data adds to the overall request-processing time. Regardless of the growing number of data sources and service APIs, consumers still expect highly responsive applications."

90. J2EE pathfinder: Implement JSP custom tags in five easy steps
"In the sections that follow, you'll learn, step-by-step, how to meet these requirements and incorporate custom tags into your JSP pages. Here are the five steps between you and a successful JSP custom tag implementation:"

91. Review: Professional Java Server Programming, J2EE 1.3 Edition
"Wrox recently released the third edition of its Professional Java Server Programming book, now subtitled J2EE 1.3 Edition. I stopped by Amazon to see what readers had to say about this book, but the four reviews (as of press time) of the new edition are little more than a sentence or two in length with minimal meaningful information of the book's quality. To help you make a better decision about purchasing, here's a look at what to expect with the latest offering."

92. Improve interoperability between J2EE technology and .NET, Part 3


93. Deploying multiple applications in J2EE 1.2
"However, we haven't fully solved the problem. We now have a dependency between the two applications. While we can bring down the Benefits application, the Timesheet application must now have the same availability requirements as the Benefits application, creating a potential administration hassle. Furthermore, we now have to deal with a problem that's not addressed by the J2EE 1.2 specification: how to include the EJB stub code in the Benefits WAR file. Theoretically, we could separate out the client code from the Timesheet EJB-JAR file, but that seems error prone and likely to create problems. We'll come back to this possibility later."

94. Java EE 5: Power and productivity with less complexity
"The latest version of the platform, Java EE 5, was released in May 2006. Primarily focused on developer productivity, Java EE 5 brings simpler programming models without sacrificing any of the platform's power and richness. Two mechanisms ? Java annotations and better defaults ? are responsible for most of its simpler development models. Major functional improvements include enhanced Web services support and incorporation of JavaServer Faces (JSF) and the Java Standard Tag Library (JSTL) into the platform."

95. J2EE Class Loading Demystified
"Java class loading problems can be vexing, especially in advanced environments established to address complex requests. Java 2 Platform Enterprise Edition (J2EE) and WebSphere© Application Server use sophisticated techniques for structuring and loading classes. Like many developers, you're probably wondering how to design your J2EE projects to make proper use of the various classloaders."

96. Get to know Java EE 5
"Java EE 5 also introduces a new programming model for Web services: JAX-WS. Before looking at what is different, you might want to know what has not changed from JAX-RPC to JAX-WS:"

97. Rapid J2EE Development with Oracle ADF
"So, what have you accomplished? You have created a MVC-based J2EE application, in very little time, without a single line of Java code. By using a MySQL database, the ADF framework allowed you to create a fully-functional reservations system that was deployed to Oracle's OC4J server. As a final note, ADF-developed applications are not confined to Oracle's application server. JDeveloper provides support for installing the ADF libraries and packaging and deploying a complete ADF application to another J2EE application server such as JBoss."

98. Creating Web Services from J2EE Components
"Creating Web services from various J2EE components and exposing them to the Net remain one of the critical aspects of a J2EE-compliant e-business. The flexibility and the versatility of the business process depend on this. In this article, we would like to address this issue from a programmer's point of view. We shall concentrate our efforts on a similar architecture with BEA Weblogic as the application server. We shall take some of the basic building blocks of a J2EE-based system, convert each to an individual Web service, and deploy on Weblogic."

99. J2EE Puts Java To Work
"Corba: This predecessor of EJB is the open standard for heterogeneous distributed computing. J2EE offers support for Corba through Remote Method Invocation (RMI) over Internet Inter-ORB Protocol (IIOP), which lets Corba objects talk to Java objects over the network, a Java Interface Definition Language (IDL), which lets Java objects communicate with Corba objects on the same machine, and Java Transaction Service (JTS), a Java implementation of the Corba Object Transaction Service (OTS)."

100. Proposing J2EE Based Architecture for Small/Medium Business Applications
"The aim of this article is to introduce small/medium size Web-based applications and propose a simple J2EE-based architecture. We will also explore the feasibility and limitations of this architecture in different scenarios."

101. Adding Charts to Web-Based J2EE Applications
"Business applications typically manage data. Therefore, developers often need to provide components that enable users to analyze that data. One way to do this is by providing users access to text-based reports. Another option is to provide a view to the data through a series of graphical charts. Charts can be an extremely useful tool because they allow users to visually compare data elements, spotting trends and patterns not easily discernable through reports when dealing with large amounts of data. Much of today's business software is Web-based and delivered through a browser. Nevertheless, requirements for these applications, namely data analysis requirements, remain the same. Luckily, if you are developing software with J2EE technologies, there are some open-source options to assist you. This article will demonstrate how J2EE developers can quickly add visually-appealing, graphical charts to their work."

102. Implementing an Anti-Virus File Scan in JEE Applications
"If scanning a file on the file system, with SCANREPAIR or SCANREPAIRDELETE, use the call that accepts input and output file names."

103. Java EE 5 Performance Management and Optimization
"Finally, an intelligent SLA needs to be flexible. It needs to account for variations in behavior as a result of unforeseen factors, but define a hard threshold for how flexible it is allowed to be. For example, an SLA may read ?The search functionality will respond within three seconds (specific) for 95 percent of requests (flexible).? The occasional seven-second response time is acceptable, as long as the integrity of the application is preserved?it responds well most of the time. By defining concrete values for the specific value as well as the limitations of the flexible value, you can quantify what ?most of the time? means to the performance of the application, and you have a definite value with which to evaluate and verify the SLA."

104. Writing Facebook Applications Using Java EE
"This JSP page is straightforward and simple. It uses JSP Expression Language to output the value of the request parameters "uid," "profile_name," and "profile_picture_url" you placed in the request in the getFacebookInfo() method from MainPageServlet.java. Using these values, it displays the users' name and profile picture, with links to their profile, and congratulates them for using "myfacebookapp.""

105. Sitraka Strengthens Focus On J2EE Performance Assurance
"TORONTO--(BUSINESS WIRE)--Feb. 4, 2002--Sitraka, leaders in Java application development solutions and creators of the award-winning JProbe Suite of Java performance tuning tools, announced today that the company is strengthening its focus on J2EE Performance Assurance. Sitraka's product strategy signals the company's commitment to enabling development, QA and operations teams to manage all aspects of J2EE performance across the entire application life cycle. In a separate announcement made today, Sitraka unveiled the release of Sitraka PerformaSure, a transaction-centric J2EE diagnosis tool and a key component in the company's emerging J2EE Performance Assurance offering."

106. Evolution of the J2EE Business Delegate Design Pattern
"In this article, I will focus on the Business Delegate enterprise design pattern. This pattern describes a relatively new application of an old concept that facilitates decoupling between application tiers and various business services. I will describe the pattern in detail with an example of real enterprise usage. In addition, I will talk about key concepts and the evolution of this pattern. The idea of hiding complex implementations from different software clients or tiers is not new, GoF* book describes several patterns that make it possible. For example, a Façade [GoF] pattern provides a single high-level interface for a set of interfaces in a system and therefore hides the original implementation from the client subsystems. An Adapter [GoF] pattern or Broker pattern provide coupling for disparate systems, thereby also concealing the implementation of the parent system from the subsystems that use it."

107. Building in J2EE Performance during the Development Phase
"In development, components are tested in unit tests. A unit test is designed to test the functionality and performance of an individual component, independently from other components that it will eventually interact with. The most common unit testing framework is an open source initiative called JUnit. JUnit?s underlying premise is that alongside the development of your components, you should write tests to validate each piece of functionality of your components. A relatively new development paradigm, Extreme Programming (www.xprogramming.com), promotes building test cases prior to building the components themselves, which forces you to better understand how your components will be used prior to writing them."

108. J2EE and .NET from a Security Standpoint: Languages
"Due to the nature of security, there may never be a winner of a .NET-J2EE battle. There are already several playing fields the war is being waged upon. There is Microsoft's SDK versus Sun's API, there are .ASP pages versus .JSP ones, and then there is XML and other middle and back-end integration to consider. But for now, I will examine the differences in one aspect of these platforms' security solution, their primary core languages."

109. Sitraka PerformaSure: Performance Analysis for J2EE Applications
"Sitraka is aware of this difference, but has (sensibly, in my opinion) focused its attention on where developers are feeling the most pain: during initial development. The fact is, most J2EE applications currently being worked on are still in the initial development stage at this point, and have yet to be deployed anyway. Hopefully, PerformaSure will help shorten time to market for some of these applications, along with improving initial quality and customer acceptance, by helping developers to identify problems in the development and initial QA phases, rather than having to have performance inadequacies pointed out to them by customers or by the occasional large catastrophic failure after deployment."

110. Anatomy of a J2EE Service
"Many organizations use the J2EE platform to create services. A service in this environment has multiple layers, each of which handles a specific function. A service is usually created in the J2EE environment as a stateless session bean. A stateless session bean is an EJB component that does not maintain any conversational state with the client. It is a type-based component in which each method call is completely independent from other method calls."

111. Improve J2EE Application Performance with Caching
"The concept of temporarily storing frequently-referenced data at your application's elbow to save the overhead of repeated trips into the database is so well-entrenched that many databases can be enabled to do it passively. And within J2EE, a J2EE server can passively do entity bean caching, if you're using entity beans to do data access."

112. J2EE Performance Tuning, Part 2 > Methodology Defined
"Whether it is tuning a J2EE application, a database, or your own custom-built architecture, it is always best to start by defining the methodology that you will use, analyzing that methodology to ensure that it accurately solves your problem, and determining the requirements of that methodology. Although the first article in this series introduced you to J2EE performance tuning and the goals in tuning a J2EE environment, this article defines a tuning methodology you can use in your environment and the information you will need to apply this methodology."

113. Java EE and .NET Security Interoperability > Security by Default
"To make a Java EE .NET interoperable solution secure by default, security architects and developers should consider the following security requirements. Also refer to [WSI-countermeasure] for the details of security scenarios and the counter-measures to the security threats."

114. Tips for J2EE Development > Version Control
"There are several very good tools out on the market today. One of my personal favorites is Subversion. Although it is a relative newcomer to the version control scene, it is quickly gaining popularity among developers. It has been coined as "CVS without the suck" by many developers in that if you know CVS, you already know most of Subversion. One of the features I like most about Subversion is that you can move items in the repository without losing your change history. For Java development, this is extremely useful."

115. Organizing Your Eclipse Web Tools Platform Development Project > Web Project Types and J2EE Applications
"WTP provides projects and wizards to help you get started quickly with different types of Web and J2EE applications. You can use these wizards to create most standard Web and J2EE artifacts. Additional tools will help you create, build, validate, and run your applications on servers."

w__w___w___.j___a__v___a2___s__._c___o_m | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.