Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Other technologies and products related to J2EE (The final exam will not cover this part) Application server An application server, in an n-tier architecture, is a server that hosts an API to expose business logic and business processes for use by third-party applications Three-tier architecture is a popular n-tier architecture (clientserver architecture) in which the user interface, functional process logic ("business rules"), computer data storage and data access are developed and maintained as independent modules, most often on separate platforms. Application Server Following the success of the Java Platform, the term application server sometimes refers to a J2EE application server. Among the better known Java Enterprise Edition application servers are WebLogic Server (BEA) JBoss (Red Hat) WebSphere Application Server and WebSphere Application Server Community Edition (IBM) JBOSS JBoss is a Java Application Server An software tool that provides an execution environment for Java 2 Enterprise Edition (J2EE) component based services. J2EE components incorporate several differing technologies such as Java Servlets, Java Server Pages (JSP), XML and Enterprise Java Beans (EJB). Java Application Servers provide the supporting framework for these J2EE components, supplying much of the low-level prosaic services such as security, scalability, protocol support. JBOSS vs Tomcat If you are doing JSP/Servlet programming, Tomcat is all you need. If you want to do EJB/JMS programming along with other j2ee functionalities, you may choose JBOSS JBOSS is a full J2EE server Actually, JBOSS has an embedded Tomcat too, so you can run your JSP/Servlet without modification in JBOSS Enterprise JavaBeans Server side re-usable components that enable rapid application development Factor out common services from application development Distribution and remote invocation (interface with other services) Transaction management (one unit of work) Thread management Persistence (related to database) Security (JAAS) Scalability You can just concentrate on application code! Difference between JavaBean and Enterprise JavaBean Enterprise JavaBean is a standard server-side component model for distributed business applications JavaBean is intra-process component where as EJB is an Inter-Process component The three types of Beans Session Beans Entity Beans Represent persistent components in the business model (database Students, employees, documents, etc. Shared between clients, but access is synchronized Provide synchronous (request-response conversation) client access to business services Can be stateless (shared) or stateful (one per client) Have NO persistent state tables and columns) Message Driven Beans (not efficient for real-time) Provide asynchronous access to business services (a queue) Invoked by messages instead of distributed method call Clients do not interact directly with them Web Services “Web services” is an effort to build a distributed computing platform for the Web. Yet another one! Livermore July 25 2001 Web Services The basic Web services platform is XML + HTTP. The HTTP protocol is the most used Internet protocol. XML provides a language which can be used between different platforms and programming languages and still express complex messages and functions. Web services platform elements: SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery and Integration) WSDL (Web Services Description Language) RESTful (Representational State Transfer) Web Services What is SOAP? SOAP is a simple XML-based protocol to let applications exchange information over HTTP. Or more simple: SOAP is a protocol for accessing a Web Service. SOAP stands for Simple Object Access Protocol SOAP is a communication protocol SOAP is a format for sending messages SOAP is designed to communicate via Internet Web Services What is WSDL? WSDL is an XML-based language for describing Web services and how to access them. WSDL stands for Web Services Description Language WSDL is based on XML WSDL is used to describe Web services WSDL is also used to locate Web services WSDL is a W3C standard Web Services What is UDDI? UDDI is a directory service where businesses can register and search for Web services. UDDI stands for Universal Description, Discovery and Integration UDDI is a directory for storing information about web services UDDI is a directory of web service interfaces described by WSDL Web Services What is REST Web service? Use HTTP methods explicitly. Be stateless. Expose directory structure-like URIs. Transfer XML, JavaScript Object Notation (JSON), or both. Apache Axis 2 The Apache Axis2 project is a Java-based implementation of both the client and server sides of the Web services equation. Apache Axis2 provides a complete object model and a modular architecture that makes it easy to add functionality and support for new Web services-related specifications and recommendations. Apache Axis 2 Axis2 enables you to easily perform the following tasks: Send SOAP messages Receive and process SOAP messages Create a Web service out of a plain Java class Create implementation classes for both the server and client using WSDL Easily retrieve the WSDL for a service Send and receive SOAP messages with attachments Create or utilize a REST-based Web service Apache Axis 2 To understand Axis2 and what it does, you must have a good idea of the life cycle of a Web services message. Typically, it looks something like this: Make web application testing automatic Automation is very important when it comes about testing. Creating or recording a bunch of automated tests that can be performed again and again gives the confidence that what was working before is still working after the code was changed. Without automation somebody should stay and test everything manually after each code change. And with the next code change all the work will be lost which is very frustrating. Make web application testing automatic One of the ways of doing automation is by recording GUI activities which can be played at a later point in time. AutoIt can help with automatic web application testing http://www.autoitscript.com/site/autoit/ Spring Framework The Spring Framework is a popular open source application framework that can make J2EE development easier. It consists of a container, a framework for managing components, and a set of snap-in services for web user interfaces, transactions, and persistence. Hibernate Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate lets you develop persistent classes following object-oriented idiom - including association, inheritance, polymorphism, composition, and collections. Hibernate allows you to express queries in its own portable SQL extension (HQL), as well as in native SQL, or with an object-oriented Criteria and Example API.