Académique Documents
Professionnel Documents
Culture Documents
Middle Tier: This also called as the server tier. In the middle tier enterprise beans and web services encapsulate distributable business logic for the applications which are reusable. The JEE application server contains the server-tier components which provides the platform for these web components for actions to be performed and data to be stored / persisted. Enterprise data tier: The enterprise level data is stored / persisted preferably or typically in a relational database, in this tier.
The JEE applications comprises of components, containers and services. All the web components (Servlets, JSP) provide dynamic requests and responses from a web page. The EJB components contain the server-side business logic for enterprise applications.
Q3.Explain the four types of container that the J2EE specification defines.
A container is a runtime support of a system level entity [Applet, Servlet/JSP, EJB] The four types of container that the J2EE specification defines are applet container, application-client container, web container and EJB container. Applet Container : An applet is a java program that can be embedded into a web page. Most of the web pages are authored in HTML. To use an applet in HTML document , the tags <APPLET> and </APPLET> are used. They are used to indicate to the browser that a java applet should be loaded. These tags act as a container for the java applet definition. Applet container manages the execution of applet, and contains the web browser.
Application-client Container : The Application Client Container (ACC) is a combination of Java classes, libraries, and other files. They are used to distribute along with Java client programs that execute on their own JVM. The execution of the application client components is managed by the application-client container. The ACC can take the responsibility to collect user name and password which is treated as authentication data. Web Container : A web container is a part of web server. It provides the run time environment to execute a web application such as a servlet, JSP. A servlet container translates the URL requests into servlet requests. The JSP implicit objects such as request, response, out, page, pageContext etc., are exposed by JSP container. EJB Container : The EJB container, like other containers provides run-time environment to execute EJB components such as enterprise beans. An EJB Container manages transactions, state management details, multi threading, connection pooling. The applications are provided with security using EJB container. All database access required by the entity bean will be handled by the EJB container.
Q5.Explain the technologies that J2EE platform provides for developing components.
1) Servlet Technology: It is considered as the foundation of web technologies. It overcomes the limitations of CGI technology. It is a server side component to serve the clients and to generate dynamic content. Servlets interacts with web clients using the paradigm request-response. All client requests are sent through web servers to the servlet container. The servelt then process the request and sends the response back to the client. Servlets are reliable, scalable, efficient and reusable server side components. 2) JSP Technology: It is the extension of servlet technology. It is easy to author JSP without much knowledge of the supporting API. JSP can be used to work with HTTP requests and HTTP responses, session management and so on. It is easy to combine both static and dynamic content with JSP. The factor to develop JSP technology is to use regular HTML tags. The JSP author can place servlet or simple java code in the page by using special designated tags. The entire JSP will be translated into Servlet and the servlet related code is communicated to container to run. 3) EJB Technology: EJB is a server-side web component. It depends on other Java technologies for proper functionality such as Remote Method Invocation. RMI is used as a protocol between 2 enterprise beans and between an enterprise bean and its client. EJB encapsulates the business logic. All EJBs are developed, deployed and run only in an EJB container. This is similar to servlets and JSP run in a web container. EJB applications are easy to develop because the applications developer can concentrate on business logic. The developer can utilize the services provided by the EJB container, like connection pooling and transactions.
Q6.Explain the J2EE APIs, i.e. RMI/IIOP, JNDI, JDBC, Java Mail and JMS.
RMI/IIOP: RMI stands for Remote Method Invocation. IIOP stands for Inter Internet-ORB Protocol. ORB RMI/IIOP API is used to write distributed objects using Java technology, which enables communication between objects in the memory, across JVM and also physical devices. RMI/IIOP yields the benefits of OOP such as inheritance, polymorphism and encapsulation and is platform independent. In RMI/IIOP, the code related to network is written by applying the interface but not the implementations. The operation can solely on the interface that objects class. RMI-IIOP relies on object serialization for passing parameters via remote method invocations. JNDI ( Java Naming and Directory Interface) API : To enable java programs to access the naming and directory services, the JNDI API is utilized. Naming services emphasizes on the services that are to associate names with objects. We are familiar with naming systems such as the file system which has a directory or path associated it. Surfing web is associated a name that is the URL called Domain Naming System. EJB components of a J2EE application server , user profiles are associated in LDAP(Lightweight Directory Access Protocol) directory. For example , JNDI is the best API to write a java application that is used for search utility over network-enabled desktop, class-browser or an address book search utility. JDBC(Java Database Connectivity) API : Many java applications use a database and database accessing and programming is a significant role in web application development. JDBC is an API that enables the accessibility to a database in order to manipulate the database. The JDBC API supports both two-tier and three-tier models for database access. Two-tier model -- a Java application interacts directly with the database. Three-tier model -- introduces a middle-level server for execution of business logic: the middle tier to maintain control over data access. The application that uses the JDBC implements the following sequence. 1. Importing Packages 2. Registering the JDBC Drivers 3. Opening a Connection to a Database 4. Creating a Statement Object 5. Executing a query and Returning a Result Set Object 6. Processing the Result Set 7. Closing the Result Set and Statement Objects 8. Closing the Connection Java Mail API: Mailing and Messaging applications can be modelled or developed using Java Mail. The e-mail messaging applications can be developed for both high-level implementation and low-level implementation. That is, a small company which is heading towards growth can develop solutions which ensures the accessing to their mail server in an efficient manner. A blue-chip company can focus on providing the access to industry-level access which is a wider reach and provides vast support. JMS: Java Message Services is an API that enables the components of an application, could it be JSE or JEE component to provide messaging services such as create, send, receive and read messages. Using the loosely coupled, reliable and asynchronous communications are enabled by JMS.
The JMS application contains the following parts : 1.JMS Provider : It implements the JMS interface and provides the administration and control services for the messages. J2EE 1.3 includes the JMS Provider service. 2.JMS Clients : These are the java applications that produces or consumes the messages. 3. Messages : These are the objects that communicate the messages between clients. 4. Administered Objects : They are the JMS objects created by the administrator that can be used by the clients. They are namely destinations and connection factories. 5. Native Clients :These are the applications that use message clients native client API instead of JMS API.
Q12.Explain the components of J2EE architecture, i.e. Application components, containers and J2EE APIs
J2EE Components: Application components: Every JEE application is made up of different components. A component can be defined as software that is selfcontained functionality that is a part of JEE application related in terms of classes, files and perform communication with other components. The JEE components are
Applets, Application clients are client components Servlets and JSP technologies are referred as web components The EJB components that comprise enterprise beans are referred as business components.
JEE components are authored using java programming language and compiled just like a simple java desktop applications. JEE components are deployed according to the production requirement and managed by the JEE server. JEE containers: All JEE components are installed in the respective containers while deploying the web applications. All the components are supposed to be assembled into a JEE application and then deployed in the respective container, before the execution of a web, an enterprise bean or even application client component execution. Container Types The deployment process is container specific.
An EJB container manages the execution of all enterprise beans for a specific JEE application. The enterprise beans and their container will be run on JEE server. A web container is responsible for the execution of all servlets components and JSP for a specific JEE web application. These web components and the corresponding container will be run on JEE server. The execution of all application client components for a JEE applications is managed / executed by an application client container. The application clients and their applications run on the client machines. A container by name applet container is a web browser. The applet container along with Java plug-in combination runs on the client machine.
JEE API:
In order to run all the JEE SDK for web applications, the JSE SDK is needed. The JSE SDK provides the entire required core API for writing JEE components and the JVM. The following are the JEE APIs that are to be used in JEE applications.
EJB API - This API enables the fast, simplified distributed application development at enterprise level. JDBC API Enables the relational database accessibility for java applications Servlet API Provides simple consistent mechanism to manage the application at web server level. JSP API - Provides simple and fastest dynamic web page development JMS API Provides the mechanism for simple messaging services Java Transaction API An interface between transaction manager and the others involved in distributed transaction system. Java Mail API Provides platform and protocol independent mailing services
Loading and Instantiation : The servlet container loads the servlet during and startup of a web application and or when the first request is made. The container creates the servlet instances after loading the servlet . Initialization: Soon after the creation of the instance of a servlet, the container invokes the init() method and passes the servelts the initialization information to the init() method. The init() must be called by the servelt container before performing any requests by the servlet. Responding for the requests: Once the initialization is properly done, the servlet is ready to service the requests. The servlet creates separate threads for each and every request. The servlet container invokes the service() method which in turn invokes the appropriate doGet() or doPost() methods for handling the requests and sending responses to the client using response objects. Destroying the servlet: If the servlet is not needed for processing the requests, the destroy() method will be invoked by the container. This method also invoked only once through out the life cycle of a servlet. Invoking the destroy() method indicates the servlet container not to send any requests for the service and the servlet will release the resources that are associated with it. JVM will claim the memory with the resources for garbage collections.
JSP services the requests from clients as that of a servlet. At the time of the JSP request mapping, the request is handled by a special servlet. This servlet first checks whether the first JSP servlet is older than the JSP. If it is so, the translation of JSP into servlet class and compilation of this class is done. And then the request is handled by the servlet like an ordinary servlet.
Q15.Explain the following java graphical interface framework. Abstract windows toolkit (AWT) Swing Standard widget toolkit (SWT)
Abstract Windows Toolkit (AWT): AWT provides the interface between the user and different windowing toolkits, such as buttons, checkboxes, radio buttons and menus etc. AWT establishes the connection between java applications and the Graphical User Interface. It is adequate to develop many applications. For example, the menus on the TV sets and other remote controls were developed using AWT (may be with Swings). AWT uses the basic GUI operating systems controls. AWT is a part of Java Foundation Classes(JFC). Swing: A Swing toolkit includes much more rich set of GUI tools compared to AWT. Few more high-level component sets are available in Swing such as (tree view, list boxes, tabbed panes, pop up windows, tooltips, icons). To leverage crossplatform capabilities, Swing supports more similar look and feel of the components. Swing is more flexible the all swing components are light weight, thereby reduces the loading time. Standard Widget Toolkit (SWT): SWT is an open source widget tool kit for developing rich, efficient and portable GUI applications. It was originally developed by IBM and being maintained by Eclipse Foundation along with Eclipse IDE. It is an alternative to AWT and Swing. To display the elements, it implements the operating system GUI libraries by using Java Native Interface. The SWT applications are portable and unique for each platform. The need of SWT is to provide a common API for accessing different operating system / platform specific widgets. The goal for designing of SWT is high performance, native OS look and feel, and platform integration. Swing on the other hand, designed to allow for a highly customizable look and feel that is common across different platforms.
Choice: A component that pop ups a menu of choices and the current choice is displayed as the title of the menu. Checkbox: A component that represents a check box that represents either true or false state. If the option is true, then a tick mark appears in the box. Container: A component that can contain another set of components. All these components are tracked in a list.
Panel: It is one of the simplest container classes. A panel provides space to place other components including other panels. Scrollpane: A container which implements the scrolling that can be horizontal or vertical for a child component. Windows: Represents a top level window that has no borders and no menubar. A window must have a frame, a dialog box or another window as its owner window.
Label: A component to place text in a container that is displayed as read only text containing a single line List: A component that specifies a list of items of text with a provision for the user to select a single or multiple items. Scrollbar: A component that is used basically for moving the visible area, where the components / contents are not enough to appear in a single screen page. Text Components:
TextArea: A component where multiple lines of text can be typed / visible. It can make to appear as readonly area or to appear for editing. TextField: A component where a single line of text can be typed / visible.