Many enterprise projects use .NET based technology on the client side, where richness and performance are paramount considerations. This is then teamed up with a proven, stable, mature platform for server based enterprise applications, J2EE. While many enterprise projects have realized the power of this dynamite combination, several questions related to the interoperability considerations of using .NET with J2EE have gone unanswered. In this article, Binil Christudas attempts to shed light on this important, yet sparsely documented, area of interoperability considerations and some of the solutions available to work hassle-free with .NET and J2EE . The article converges at a point, and rightly so, to propose Web Services as a technology for attaining client side interoperability, and in that attempt addresses two important approaches: Top-Down and Bottom-Up. As proof of the proposed technology, practical demonstration of the two approaches, and the successful implementation of a solution, the author showcases a sample architecture based on BEA Weblogic Server and .NET C# client. Cruise along and pick up some nuggets for your next project that uses this potent combination
A Look into the Architecture and Development Process using the Magic Template
The first part of this series introduced us to the EJOSA magic template - a solution for J2EE beginners who wish to overcome the complexity of J2EE application development by using Open Source Software (OSS). In the second part of this series, we will move further into the workings of EJOSA Template and look at the specification directory, which is the most important part of EJOSA Template; the business layer, where you implement the specification with available Java technologies; the presentation layer that represents the view of the business logics; and the road ahead for the EJOSA Template.
Optimizing Your Applications with Enerjy Performance Profiler
This article is aimed at developers and architects who are currently developing Java applications, or have developed applications, and want to optimize them for speed or throughput. The author explains why profiling techniques should be adopted and focuses on the use of Enerjy Performance Profiler to aid in this methodology.
Knopflerfish is a non-profit organization, developing OSGi related material for Open Source publication. The project, which is based on the Gatespace GDSP OSGi framework, aims to develop and distribute easy to use open source code, build tools and applications, related to the OSGi framework. Erik Wistrand is the President of the Knopflerfish organization and manages the Knopflerfish OSGi open source project. Between 1999 and 2003, he was a member of Gatespace's OSGi management group. Sven talked to Erik on the about Knopflerfish's role in the OSGi world, the progress on creating an R4 compliant version, problems regarding OSGi, and the road ahead.
From its conception to its current invocation, one of the most favourable merits of the Java language (currently Java 5) is automatic memory management. Unlike other languages, developers no longer have to worry about the many mistakes that can occur from the more traditional languages, for example, allocating memory or forgetting to free dynamically allocated memory. The JVM will generally free up memory when it reaches a certain limit or when it needs more memory to continue execution of an application. Due to the mechanics of the garbage collector however, once an object is de-referenced there is no guarantee that the object will be cleaned up.
The Enterprise Java Open Source Architecture (EJOSA) Template was built to help computer science students, at the University of Munster, develop J2EE projects with a low learning curve. With little to no experience in J2EE, and a modest experience in Java, students were able to use the EJOSA template to create robust and production-ready J2EE projects. In the first part of this article, EJOSA architect Lofi Dewanto takes a close look at this magic template -- Enhydra (Web container), JOnAS (EJB container) and HypersonicSQL (data container for development) or Firebird DBMS (data container for production).
Struts is a popular Web presentation framework that has garnered considerable community support. This article aims to highlight some best practices that can be applied in medium to large projects to aid efficient development and low-maintenance quality code. In the course of this article we shall explore ways to optimize the design and development of Struts-based applications.
It is a fact of life -- developers like to write code in different styles. Show us code written by ten different developers and we can show you ten different coding styles. So why should we try to develop and enforce coding standards?
Following extensive redesign and refactoring, the Tomcat team recently announced the first release of the new Tomcat 5.5 branch, Apache Jakarta Tomcat 5.5.0. This release sports increased performance and an improved internal structure. Although not a stable release, it sets the tone right for a solid 5.5 release, replete with significant additions, a possible change in packaging, dependencies, and Tomcat internal APIs.
Building reusable code is all the rage today - after all, if we can build it once and reuse it over and over, we can build less and less over time. The whole short history of software development is an exploration of the layers of abstraction used to make building applications easier. Once you have a collection of pre-built generic parts, you have the beginnings of a framework. A framework is a set of related classes and other supporting elements that make application development easier by supplying pre-built parts. They provide the infrastructure for application development.
The past few weeks have witnessed some major happenings in the JAX World, including the release of Eclipse 3.0 and Looking Glass. Bring out your espresso and join Christian for a round up of the month gone by.
Wim Bast, Chief Architect Compuware, describes OptimalJ and how it delivers on the essence of Model Driven Architecture (MDA), to allow a balance between productivity and flexibility.
Achieving Seamless Login between Web apps Deployed on WLS v7.0 & v8.1
This article presents a solution for single sign-on (SSO) between two Web applications (deployed on WebLogic v7.0 and v8.1 servers respectively) that I was recently involved in designing and developing. We will step through the different options that were considered, before presenting a detailed description of the final solution and its associated security considerations (threats and mitigating factors).
The ABAP-speaking developer community in Walldorf is increasingly speaking Java. This process of evolution began when SAP acquired InQMy along with its ready-to-market J2EE technology, and Hasso Plattner (the co-chairman of SAP) announced that ABAP and Java would rank equally in application development at SAP.
SAP's New Model-Driven Programming Model Revolutionizes the Development of User Interfaces
Highway 1 in California - also know as the Pacific Coast Highway - winds in narrow hairpin curves through deep gorges. Anyone wanting to get to Los Angeles from San Francisco quickly, however, takes Highway 101, which cuts a straight line through the countryside. One could describe the road from ABAP/Dynpro to Web Dynpro in a similar way. The ABAP/Dynpro development model, created in the nineties, played a significant part in the development of ABAP-based SAP applications. In the meantime, powerful standards like Java/J2EE and Web Services were developed, which were driven and supported by SAP. Since Hasso Plattner's announcement that the SAP application server will support J2EE as well as ABAP, a new generation of SAP development tools has emerged. These tools support a new, powerful concept for building Web-based user interfaces: Web Dynpro for Java.
This article is the first in a series that looks at one of the most fertile areas in open source Java code -- Web frameworks for Java. The Jakarta site alone features three -- Struts, Turbine, and Tapestry, as well as some "meta-frameworks". Each month, we'll feature a different framework (including the upcoming Java Server Faces), look at its important architectural details, and how it differs from the other frameworks available today.
The OO approach to software development is an efficient way to build fine-grained relationships between business objects. Although this architecture style is suitable for co-located entities, it can cause some problems and challenges for distributed applications.
Component Based Development is an important vehicle to build maintainable, well-structured, software. In this article, we'll take a look at service-oriented architectures using a Java/J2EE example. Later, we will also look at the need for a consistent way to annotate the business components.
The Apache group has diversified its source code base from providing a single Web Server to that of a group providing a host of different solutions. Most of the solutions tend to be server-based; for example, Xerces is an XML processor, and Jakarta Tomcat is a Java-based Web Server. The Jakarta Commons is another solution and its mission is to provide reusable Java components. This article will bring you up to speed on how to download, compile, inspect, and integrate the Jakarta Components.
As I sit at my desk, writing my first column for the jax magazine, I am both happy and excited, because here I'll get the space to talk about the happening trends in the Java community. Of course, talking about trends could be boring if there were no trends to talk about. However, with the Java community there needn't be any worry -- there's so much happening here all the time!
Wim Bast, Chief Architect Compuware, outlines the essence of Model Driven Architecture
Model Driven Architecture (MDA) has enjoyed high visibility since its formal announcement by the Object Management Group (OMG) in March 2001. In three short years, well over 40 companies have come forward with software products said to implement MDA; while a smaller, but significant, number of success stories demonstrate that there really is something to this striking new concept.