El documento proporciona una introducción al desarrollo Java y al servidor BEA WebLogic Server. Explica conceptos clave como las especificaciones Java, los diferentes tipos de servidores, las clases y componentes Java, y la evolución de las aplicaciones web. También resume los principales patrones de diseño y frameworks para aplicaciones web, así como conceptos arquitectónicos de BEA WebLogic Server como la alta disponibilidad y la seguridad.
13. Conceptos sobre servidores BEA WebLogic Server, IBM WebSphere, SAP Web Application Server, SUN GlassFish, Resin, JBoss Servidores J2EE Apache Tomcat Contenedores Web Apache HTTP Server, Jetty, Microsoft IIS (Internet Information Services) Servidores Web
14.
15.
16.
17.
18. Gestión de memoria en Java Gestión de memoria automática: garbage collector ´ El JVM (en la heap memory) almacena todos los objetos creados por un programa Java. Su creación viene determinada a través del operador Java “new”, siendo ocupada memoria heap en tiempo de ejecución. Garbage Collection es el proceso que automáticamente libera los objetos que ya no son referenciados en ninguna parte, relevando al programador de la tarea de liberar memoria. Resumiendo: el programador determina cuándo se crean los objetos, y el entorno de ejecución Java es responsable de gestionar el ciclo de vida de los objetos. Ejemplo: MiClase a = new MiClase(); //Realizo ciertas operaciones… a = null; //Buena práctica para “ayudar” al garbage collector
55. Servers The Administration Server operates as the central control entity for the configuration of the entire domain. It maintains the domain's configuration documents and distributes changes in the configuration documents to Managed Servers. You can also use the Administration Server as a central location from which to monitor all resources in a domain. Managed Servers host business applications (EJB), application components (web, libraries…), Web services, and their associated resources Resources services: JDBC data sources, Mail sessions, Security providers, diagnostics and monitoring services…
70. Tabla resumen Tabla resumen de herramientas, frameworks, tecnologías o librerías a utilizar por defecto en el desarrollo de aplicaciones Java: Look and feel de las vistas (JSP, HTML, etc) CSS Web Services JAX-WS Acceso y Reutilización de componentes librería BEA Shared Library / Optional packages Acceso a SAP R/3 BEA Smart Connector Persistencia (a través de DAOs) BEA Kodo JPA Logging y tracing Log4j Plantillas para las vistas Tiles Capa de negocio EJB 3.0 Capa web Java Server Faces Herramienta de SCM SubVersion IDE de desarrollo BEA Workshop for WebLogic Utilización Nombre
72. Glosario Feature Driven Development FDD Enterprise Resource Planning ERP Expression Language EL Enterpise Java Bean EJB Enterprise Information System EIS Enterprise Archive EAR Documentum Foundation Classes DFC Documentum Foundation Classes DFC Concurrent Versions System CVS Cascading Style Sheet CSS Continuous Integration CI Common Gateway Interface CGI BEA WebLogic Server BEA WLS BEA AquaLogic Service Bus BEA ALSB BEA AquaLogic Enterprise Security BEA ALES Application Programming Interface API SUN Access Manager AM Asynchronous Javascript and XML AJAX Descripción Nombre Java Specification Request JSR Java Server Pages JSP Java Server Faces JSF Java Server Faces JSF Java Runtime Environment JRE Java Message Service JMS Java Development Kit JDK Java DataBase Connectivity JDBC Java Community Process JCP Java Community Process JCP Java Connector Architecture JCA Java Standard Edition Java SE Java Enterprise Edition Java EE Java Archive JAR Integrated Development Environment IDE Hyper Text Transfer Protocol HTTP Hyper Text Markup Language HTML High Availability HA Descripción Nombre
73. Glosario Source Control Management SCM SAP Web Application Server SAP WAS SAP Java Connector SAP JCo Rational Unified Process RUP Really Simple Sindication RSS Remote Method Invocation RMI Rich Internet Applications RIA Resource Adapter Archive RAR Plain Old Java Object POJO Object-Relational Mapping ORM Model-View-Controller MVC Message Oriented Middleware MOM Message Driven Bean MDB Lightweight Directory Access Protocol LDAP Java Virtual Machine JVM Java Transaction API JTA Java Server Tags Library JSTL Descripción Nombre Extreme Programming XP eXtensible Markup Language XML eXtensible HTML XHTML Web Development Kit (Documentum) WDK Web Archive WAR Unified Modeling Language UML Subversion SVN Secure Sockets Layer SSL Software Development Kit SDK Descripción Nombre
Web container A container that implements the Web component contract of the J2EE architecture. This contract specifies a runtime environment for Web components that includes security, concurrency, life-cycle management, transaction, deployment, and other services. A Web container provides the same services as a JSP container as well as a federated view of the J2EE platform APIs. A Web container is provided by a Web or J2EE server. Web server Software that provides services to access the Internet, an intranet, or an extranet. A Web server hosts Web sites, provides support for HTTP and other protocols, and executes server-side programs (such as CGI scripts or servlets) that perform certain functions. In the J2EE architecture, a Web server provides services to a Web container . For example, a Web container typically relies on a Web server to provide HTTP message handling. The J2EE architecture assumes that a Web container is hosted by a Web server from the same vendor, so it does not specify the contract between these two entities. A Web server can host one or more Web containers. EJB container A container that implements the EJB component contract of the J2EE architecture. This contract specifies a runtime environment for enterprise beans that includes security, concurrency, life-cycle management, transactions, deployment, naming, and other services. An EJB container is provided by an EJB or J2EE server.
Web container A container that implements the Web component contract of the J2EE architecture. This contract specifies a runtime environment for Web components that includes security, concurrency, life-cycle management, transaction, deployment, and other services. A Web container provides the same services as a JSP container as well as a federated view of the J2EE platform APIs. A Web container is provided by a Web or J2EE server. Web server Software that provides services to access the Internet, an intranet, or an extranet. A Web server hosts Web sites, provides support for HTTP and other protocols, and executes server-side programs (such as CGI scripts or servlets) that perform certain functions. In the J2EE architecture, a Web server provides services to a Web container . For example, a Web container typically relies on a Web server to provide HTTP message handling. The J2EE architecture assumes that a Web container is hosted by a Web server from the same vendor, so it does not specify the contract between these two entities. A Web server can host one or more Web containers. EJB container A container that implements the EJB component contract of the J2EE architecture. This contract specifies a runtime environment for enterprise beans that includes security, concurrency, life-cycle management, transactions, deployment, naming, and other services. An EJB container is provided by an EJB or J2EE server.
Web container A container that implements the Web component contract of the J2EE architecture. This contract specifies a runtime environment for Web components that includes security, concurrency, life-cycle management, transaction, deployment, and other services. A Web container provides the same services as a JSP container as well as a federated view of the J2EE platform APIs. A Web container is provided by a Web or J2EE server. Web server Software that provides services to access the Internet, an intranet, or an extranet. A Web server hosts Web sites, provides support for HTTP and other protocols, and executes server-side programs (such as CGI scripts or servlets) that perform certain functions. In the J2EE architecture, a Web server provides services to a Web container . For example, a Web container typically relies on a Web server to provide HTTP message handling. The J2EE architecture assumes that a Web container is hosted by a Web server from the same vendor, so it does not specify the contract between these two entities. A Web server can host one or more Web containers. EJB container A container that implements the EJB component contract of the J2EE architecture. This contract specifies a runtime environment for enterprise beans that includes security, concurrency, life-cycle management, transactions, deployment, naming, and other services. An EJB container is provided by an EJB or J2EE server.
Web container A container that implements the Web component contract of the J2EE architecture. This contract specifies a runtime environment for Web components that includes security, concurrency, life-cycle management, transaction, deployment, and other services. A Web container provides the same services as a JSP container as well as a federated view of the J2EE platform APIs. A Web container is provided by a Web or J2EE server. Web server Software that provides services to access the Internet, an intranet, or an extranet. A Web server hosts Web sites, provides support for HTTP and other protocols, and executes server-side programs (such as CGI scripts or servlets) that perform certain functions. In the J2EE architecture, a Web server provides services to a Web container . For example, a Web container typically relies on a Web server to provide HTTP message handling. The J2EE architecture assumes that a Web container is hosted by a Web server from the same vendor, so it does not specify the contract between these two entities. A Web server can host one or more Web containers. EJB container A container that implements the EJB component contract of the J2EE architecture. This contract specifies a runtime environment for enterprise beans that includes security, concurrency, life-cycle management, transactions, deployment, naming, and other services. An EJB container is provided by an EJB or J2EE server.
Más información: http://java.sun.com/blueprints/patterns/MVC-detailed.html Forces The same enterprise data needs to be accessed when presented in different views: e.g. HTML, WML, JFC/Swing, XML The same enterprise data needs to be updated through different interactions: e.g. link selections on an HTML page or WML card, button clicks on a JFC/Swing GUI, SOAP messages written in XML Supporting multiple types of views and interactions should not impact the components that provide the core functionality of the enterprise application Solution By applying the Model-View-Controller (MVC) architecture to a JavaTM 2 Platform, Enterprise Edition (J2EETM) application, you separate core business model functionality from the presentation and control logic that uses this functionality. Such separation allows multiple views to share the same enterprise data model, which makes supporting multiple clients easier to implement, test, and maintain. Participants & Responsibilities The MVC architecture has its roots in Smalltalk, where it was originally applied to map the traditional input, processing, and output tasks to the graphical user interaction model. However, it is straightforward to map these concepts into the domain of multi-tier enterprise applications. Model - The model represents enterprise data and the business rules that govern access to and updates of this data. Often the model serves as a software approximation to a real-world process, so simple real-world modeling techniques apply when defining the model. View -The view renders the contents of a model. It accesses enterprise data through the model and specifies how that data should be presented. It is the view's responsibility to maintain consistency in its presentation when the model changes. This can be achieved by using a push model, where the view registers itself with the model for change notifications, or a pull model, where the view is responsible for calling the model when it needs to retrieve the most current data. Controller - The controller translates interactions with the view into actions to be performed by the model. In a stand-alone GUI client, user interactions could be button clicks or menu selections, whereas in a Web application, they appear as GET and POST HTTP requests. The actions performed by the model include activating business processes or changing the state of the model. Based on the user interactions and the outcome of the model actions, the controller responds by selecting an appropriate view. Consequences Re-use of Model components. The separation of model and view allows multiple views to use the same enterprise model. Consequently, an enterprise application's model components are easier to implement, test, and maintain, since all access to the model goes through these components. Easier support for new types of clients. To support a new type of client, you simply write a view and some controller logic and wire them into the existing enterprise application. Increased design complexity. This pattern introduces some extra classes due to the separation of model, view, and controller.