Java Enterprise Programming
Enterprise applications can be considered as an extension of Web applications. The major difference between them is that Enterprise applications usually deal with a significant amount of business logic and significant amount of data to persist. In addition, Enterprise applications usually don't live in isolation: they often need web services from external applications (that may be written in any language and run on any platform) and often provide web services to external applications.
This course examines how Java Enterprise technologies meet these challenges. This course will be concentrated on the following major topics and technologies that meet these challenges: Enterprise JavaBeans 3 (EJB 3) and RESTful Web Services.
Enterprise JavaBeans 3 (EJB 3) are considered to be the cornerstone of the J2EE framework. EJBs are reusable server-side Java components that encapsulate the business logic and data access of a distributed application and make it available to clients anywhere on the network. The EJBs architecture and the runtime services they provide (high availability, transaction and session management, persistence, security) make this technology far superior with respect to other component technologies. The Enterprise JavaBeans (EJB) section of the course examines:
• EJB architecture and EJB containers.
• EntityManager as a persistence framework.
• Different ways of mapping persistent objects
• Entity relationships.
• Stateless Session Beans
• Stateful Session Beans
• Message-Driven Beans
RESTful Web Services. REST defines a set of architectural principles by which you can design Web services that focus on a system's resources, including how resource states are addressed and transferred over HTTP by a wide range of clients written in different languages. If measured by the number of Web services that use it, REST has emerged in the last few years alone as a predominant Web service design model. In fact, REST has had such a large impact on the Web that it has mostly displaced SOAP- and WSDL-based interface design because it's a considerably simpler style to use. The RESTful Web Services section of the course examines:
• RESTful Web Services with JAX-RS (Java API for RESTful Web Services)
• Design of RESTful Web Services.
• Simple RESTful JAX-RS Web Service
• RESTful JAX-RS HTTP Method and URI Matching
• RESTful JAX-RS Injection
• RESTful JAX-RS Content Handlers
• RESTful JAX-RS Response Codes, Complex Responses and Exception Handling
• RESTful JAX-RS HTTP Content Negotiation
• RESTful JAX-RS Hypermedia As The Engine Of Application State (HATEOAS)
• RESTful JAX-RS Deployment and Integration
• RESTful JAX-RS Security
• RESTful JAX-RS Java clients
At the end of the course, students will be able to:
1. Design and Develop Java Enterprise Applications using Enterprise JavaBeans 3 (EJB 3)
2. Design and Develop Java Enterprise Applications using RESTful Web Services