Java Enterprise Development

Summary of Java Enterprise technologies mastered by BTB


Spring provides the ultimate programming model for modern enterprise Java applications by insulating business objects from the complexities of platform services for application component management, Web services, transactions, security, remoting, messaging, data access, aspect-oriented programming and more. Spring is built on an Inversion of Control (IoC) container that enables Java components to be centrally configured and wired together – resulting in code that is more portable, reusable, testable and maintainable.


EJB (Enterprise JavaBeans) technology enables rapid and simplified development of distributed, transactional, secure and portable applications based on Java technology. The EJB specification intends to provide a standard way to implement the back-end ‘business’ code typically found in enterprise applications (as opposed to ‘front-end’ interface code). Such code addresses the same types of problems, and solutions to these problems are often repeatedly re-implemented by programmers. Enterprise JavaBeans are intended to handle such common concerns as persistence, transactional integrity, and security in a standard way, leaving programmers free to concentrate on the particular problem at hand.


JPA (Java Persistence API) is the standard API for the management of persistence and object/relational mapping. It provides an object/relational mapping facility for application developers using a Java domain model to manage a relational database. The Java Persistence API deals with the way relational data is mapped to Java objects (“persistent entities”), the way that these objects are stored in a relational database so that they can be accessed at a later time, and the continued existence of an entity’s state even after the application that uses it ends. In addition to simplifying the entity persistence model, the Java Persistence API standardizes object-relational mapping.


JSF (JavaServer Faces) technology establishes the standard for building server-side user interfaces. JSF is a request-driven MVC web framework based on component-driven UI design model, using XML files called view templates or Facelets views. Requests are processed by the FacesServlet, which loads the appropriate view template, builds a component tree, processes events, and renders the response (typically HTML) to the client. JSF is often used together with Ajax, a Rich Internet application technology. Because JSF supports multiple output formats, Ajax-enabled components can easily be added to enrich JSF-based user interfaces.


ICEfaces is an open source Ajax framework that enables Java EE application developers to create and deploy server-based rich Internet application using the Java language. The primary goal behind the ICEfaces architecture is to provide the application developers with a familiar Java enterprise development model, and completely shelter them from the complexities of low-level Ajax development in JavaScript. The key to the ICEfaces architecture is a server-centric application model, where all application logic is developed in pure Java, and executes in a standard Java application server runtime environment. This means that existing Java EE infrastructure, development environments, and best practices remain relevant and useful.