JEE Programming - 07 EJB Programming

80
Module 07 - Enterprise JavaBeans Danairat T. Line ID: Danairat FB: Danairat Thanabodithammachari +668-1559-1446

Transcript of JEE Programming - 07 EJB Programming

Module 07 - Enterprise JavaBeans

Danairat T.

Line ID: Danairat

FB: Danairat Thanabodithammachari

+668-1559-1446

JEE and Web Application Development The Course Outline

Module 01 - Introduction to JEE

Module 02 - The JEE Containers

Module 03 - The Model-View-Controller Design Pattern

Module 04 - Java Servlets

Module 05 - Java Server Pages in MVC

Module 06 - JEE Web Application Deployment

Module 07 - Enterprise JavaBeans

Module 08 - JEE Enterprise Application Deployment

Enterprise JavaBeans

A server-side component that encapsulates the business logic of an application. The business logic is the code that fulfills the purpose of the application.

Enterprise beans simplify the development of large, distributed applications. Developer can concentrate on solving business problems.

EJB in Java EE Architecture

EJB as a Model in MVC

Servlet/ JSF

JSP/JSF

EJB

1. Request

5. Response

2. Access

3. Access4. Forward

Web Container EJB Container

JEE Server

When to use EJB

• The application must be scalable. To accommodate a growing number of users, you may need to distribute an application’s components across multiple machines. Not only can the enterprise beans of an application run on different machines, but also their location will remain transparent to the clients.

• Transactions must ensure data integrity. Enterprise beans support transactions, the mechanisms that manage the concurrent access of shared objects.

• The application will have a variety of clients. With only a few lines of code, remote clients can easily locate enterprise beans. These clients can be thin, various, and numerous.

• Requiring of Individual Component Monitoring

• Standard Pluggable Security

EJB Type

Enterprise Bean Type Purpose

SessionPerforms a task for a client; optionally

may implement a web service

Message-Driven

Acts as a listener for a particular

messaging type, such as the Java

Message Service API

EJB Stateless Life Cycle

EJB Stateful Life Cycle

EJB Message-Driven Bean Life Cycle

EJBs in Deployment File Structure

EJB JAR File

Hands-on Lab: Creating Basic EJB

Hands-on Lab: Creating Basic EJB

1. Click “New Application?” 2. Select “Java EE Web Application”, Click “OK”

Hands-on Lab: Creating Basic EJB

3. Enter Application Name 4. Click “Finish”

Hands-on Lab: Creating Basic EJB

5. Click “New?” from “Model” project 6. Select “Session Bean”, click “OK”

Hands-on Lab: Creating Basic EJB

7. Enter EJB Name, click “Next” 8. Click “Next”

Hands-on Lab: Creating Basic EJB

9. Click “Next” 10. Click “Finish”

Hands-on Lab: Creating Basic EJB

11. Click “New Method?” from “Enterprise JavaBeans EJB”

Hands-on Lab: Creating Basic EJB

12. Enter “Name”, click “OK” 13. You will see the new EJB method shown in the code

Hands-on Lab: Creating Basic EJB

14. Make change the code

Hands-on Lab: Creating Basic EJBCreating EJB Client

15. Click “”New Simple Java Client? from the EnterpriseBean

16. Click “OK”

Hands-on Lab: Creating Basic EJBCreating EJB Client

17. Make change to the code

Hands-on Lab: Creating Basic EJBStart EJB Container

18. Click “Run” from the EnterpriseBeans

Hands-on Lab: Creating Basic EJBStart EJB Container

19. See Container started

Hands-on Lab: Creating Basic EJBRun the EJB Client

20. Click “Run” from the EJB Client

Hands-on Lab: Creating Basic EJBRun the EJB Client

21. You will see the result from EJB in the message window.

Hands-on Lab: Creating EJB, Servlet

invokes remote EJB and local EJB

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating New Application

1. Click “New Application..” 2. Select “Java EE Web Application”, Click “OK”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

3. Enter Application Name 4. Click “Finish”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

5. Click “New” from “Model” project 6. Click “Session Bean”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

7. Click “Next” 8. Click “Next”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

9. Click “Next” 10. Click “Finish”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

11. Click “New Method?” from “Enterprise JavaDeans”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

12. Enter Beans method details 13. You will see the code

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

14. Make change to the code

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Adding Dependencies to ViewController project

15. Select “Project Properties” from ViewController 16. Click “Edit Dependencies”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Adding Dependencies to ViewController project

17. Check “Build Output” 18. Click “OK”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Remote EJB

19. Click “New” on ViewController” project 20. Click “HTTP Servlet”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Remote EJB

21. Enter Servlet Name 22. Click “OK”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Remote EJB

23. Click “Finish” 24. Review the import classes for the Servlet

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Remote EJB

25. Create method in Servlet to get InitialContext of remote EJB Container

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Remote EJB

26. Make change into the code

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Remote EJB

27. Click “Run” the servlet

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Remote EJB

28. The EJB result shown on the WebBrowser

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

29. Click “Open” on the “web.xml” 30. Click “New on Existing EJB” from the “EJB References”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

31. Click “OK” 32. Click “Save”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

33. Review the web.xml code

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

34. Click “New..” from “ViewController” 35. Select “HTTP Servlet”, click “OK”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

36. Enter Servlet Name 37. Click “Next”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

38. Click “Finish” 39. Review the import classes

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

40. Make change the code

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

41. Click “Run”

Hands-on Lab: Creating EJB, Servlet invokes remote EJB and local EJB

Creating Servlet invoking Local EJB

42. You will see the EJB result on the Web Browser.

Hands-on Lab: Creating EJB,

DataSource, Data Object,

Servlets, HTTP Session,

RequestDispatcher and JSP

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating New Application

1. Click “New Application..” 2. Select “Java EE Web Application”, Click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating New Application

3. Enter Application Name 4. Click “Finish”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Configuring Project Dependencies

5. Select “Project Dependencies” from “ViewController” 6. Click “Edit Dependencies”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Configuring Project Dependencies

7. Check “Build Output” 8. Click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Configuring Project Dependencies

9. Finish configuring the project dependencies

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Configuring Data Object

10. Click “New” from the “Model” project 11. Select “Class”, click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Configuring Data Object

12. Enter information, click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Configuring Data Object

13. Complete the Data Object by adding set, get methods for the variables

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating EJB invoking DataSource

14. Click “New from “Model” project 15. Select “Session Bean”. Click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating EJB invoking DataSource

16. Enter EJB Name 17. Click “Next”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating EJB invoking DataSource

18. Click “Next” 19. Click “Finish”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating EJB invoking DataSource

20 Review Import classes for EJB

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating EJB invoking DataSource

21. Create method for get database connection from the Application Server Pool

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating EJB invoking DataSource

22. Make change to the code

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating Servlet Controller

23. Clicl “New..” from “ViewController” 24. Select “HTTP Servler”, click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating Servlet Controller

25. Click “New..” from “ViewController” 26. Click “Next”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating Servlet Controller

17. Review import classes

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating Servlet Controller

18. Create method in Servlet to invoke EJB

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating Servlet Controller

19. Make change into the code

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating JSP Form

20. Click “New” from “ViewController” 21. Select “JSP”, click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating JSP Form

22. Enter JSP Name

23. Make change into the code, click “Save”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating Result JSP

24. Enter JSP Name 25. Select “JSP”, click “OK”

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Creating Result JSP

26. Enter JSP Name 27. Make change JSP code

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Testing

28. Click “Run” on JSP Form “index.jsp” 29. See the server started

Hands-on Lab: Creating EJB DataSource, Data Object, Servlets, HTTP

Session, RequestDispatcher and JSP

Testing

30. Enter “M” or others into the form, click “Search” 31. Search result shown on the Web Browser

Danairat T.

Line ID: Danairat

FB: Danairat Thanabodithammachari

+668-1559-1446

Thank you