# Build for the Enterprise

You want to build applications that last. You want to build them fast, and you want to leverage your existing databases, applications, systems, infrastructure . . . management.

Develop business components with Enterprise JavaBeans

  Enterprise JavaBeans provide a component model that will help you meet these goals. WebLogic EJB provides entity and session beans, which means WebLogic Server automates database components (entities), as well as classic transaction model components (sessions).

  WebLogic EJB offers you:

  - Automatic persistence (database and file access)
  - Automatic, declarative transaction models
  - Client authentication and access control at the method level
  - Resource management for threads, network, and database connections
  - Bean caching
  - Bean life-cycle management for creating, finding, and destroying beans
  - Concurrency control
  - External configuration of bean runtime properties
  - Dynamic deployment of beans in a running server

Support all clients -- web, mobile, intranet, LAN -- with the same business components

  WebLogic Server supports multiple programming models: web- and intranet-based HTML clients, browser-based applets, intranet- and LAN-based desktop clients, as well as legacy environments, such as COM/ActiveX and CORBA. You can isolate business logic inside EJB components, and use the same beans for all these clients!

  Standard Java Servlets, which can be completely generated using Java Server Pages (JSP) can isolate the presentation logic from the EJB business logic for the HTML client. Desktop applications written in Java or Visual Basic using Visual Cafeacute;, Visual Age, PowerBuilder and other IDEs can access EJB components directly, providing identical business logic to these clients. In fact, EJB is an ideal component model for isolating user session activity from business logic and database activity. Combining EJB with the multiple client models supported by WebLogic Server gives you complete flexibility in choosing -- and mixing -- application models.

Increase reliability with transparent fault tolerance

  WebLogic Server clusters provide a significant additional measure of fault tolerance over prior versions of WebLogic Server. In addition to transparent scaling with load balancing across multiple servers for JNDI-based services, clusters can provide redundancy that allows application clients to continue functioning even in the event of a server or network failure. In the WebLogic Server model, non-persistent conversational and stateless JNDI-based services are essentially immune to server or JNDI instance failures.

  WebLogic Server offers a variety of load-balancing and failover models that can be configured to meet the needs of the application. WebLogic's intelligent "SmartStubs" for RMI and EJB objects can select any one of the servers in a cluster during a name binding. HTTP servlets have cluster-wide session state, and any invocation of a servlet can be handled by any instance. Servlet session management is handled through the standard Java Session Management API, rather than a proprietary solution.

Integrate with existing applications and databases

  As a component model, WebLogic EJB facilitates integration of legacy applications and databases into new applications. EJBs can "wrap" non-Java applications to make it easy to migrate heterogeneous applications to an easy-to-maintain standard. Once a legacy application is wrapped inside Enterprise JavaBeans, the business logic of the legacy application can be converted to Java when business needs dictate, without impacting new applications or clients.

  Similarly, Enterprise JavaBeans can access existing databases directly or through legacy transaction systems to provide data and processing to new applications in a component-centric paradigm. As you migrate your legacy applications to Java or to new systems, the Enterprise JavaBeans insulate client applications from changes.

Automate database and transaction programming

  WebLogic EJB provides automatic database access for bean developers. Using EJB "container-managed" persistence, the WebLogic EJB container provides the mapping from the user-developed bean to the underlying database. Datatype conversion, if any, is automatic. The bean developer can focus completely on the business logic.

  Transaction boundaries are also handled automatically by WebLogic Server. The EJB developer specifies how the bean should relate to a transaction -- start a transaction, participate in a transaction, ignore a transaction, and so on.

Lower costs with reusable components

  WebLogic Server offers multiple programming and component models. By designing applications with distinct presentation, business logic, and data/legacy application integration tiers, you can achieve a high degree of leverage and reuse. For example, common session Enterprise JavaBeans that contain the logic for business transactions can be shared by HTML clients, Java application clients, Visual Basic/C++ clients, and others. The same Enterprise JavaBeans can be used in many variants of the application. And because business process information has been abstracted away from the specifics of a single application interface, those business components can be reused over and over again in new applications, to significantly reduce cost over the life cycle of your enterprise applications.

More . . .