Chapter 11


EJB(Enterprise JavaBean)

[EJB란]

Enterprise Java Bean의 약자로 비지니스 로직을 포함한 객체를 말한다.

기업 환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다.

JAVA EE에 정의되어 있으며 주로 업무 로직을 담당한다.

JAVA EE : Servlet + JSP + EJB

[EJB의 구성]

  • 세션 빈 (Session Bean)
  • 엔티티 빈 (Entity Bean)
  • 메시지 구동 빈 (Message-driven Bean)

결합도와 응집도

결합도

결합도 (coupling)

소프트웨어의 한 요소가 다른 요소와 얼마나 연결되어있는지를 나타내는 것

결합도는 낮을수록 좋은 소프트웨어로 본다.

결합도가 높은 소프트웨어의 단점

  • 연관된 다른 클래스가 변경되면 함께 변경되어야 한다.
  • 수정하기 위한 클래스를 이해하기 위해서 다른 클래스도 이해해야한다.
  • 나중에 다른 프로그램에서 재 사용하기 힘들다.

응집도

응집도(cohesion)

소프트웨어의 한 요소가 해당 기능을 수행하기 위해서 얼마만큼의 연관된 책임이 모여있는지를 나타내는 것

특정 기능을 하는데 너무 많은 일을 하지 않는 것이 응집도가 높은 것이다. 응집도가 높으면 유지보수성이 높아진다.

응집도는 높을수록 좋은 소프트웨어로 본다.

응집도가 낮은 소프트웨어의 단점

  • 이해하기 힘들다.
  • 다른 곳에 재사용하기 힘들다. (현재 사용한 곳에 관련된 것이 많아 응집도가 낮은 경우)
  • 유지보수하기 힘들다.
  • 다른 클래스의 변화에 민감하다.

ORM

ORM (Object Relational Mapping)

RDBMS의 관계와 객체지향 프로그램에서 사용하는 객체를 서로 매핑해주는 시스템을 말한다.

자바의 경우 자바의 모델 객체와 DBMS에서의 각 칼럼을 매핑해주는 것을 의미한다.

ORM의 예

  • Hibernate
  • iBatis / MyBatis
  • JPA