Java EE, warstwa serwisowa.

0

Witam. Przeglądam tutoriale dotyczące aplikacji w Javie EE:
http://luxlog.wordpress.com/2007/12/15/basic-example-web-app-with-glassfish-netbeans-60-jsf-and-ejb3/
http://www.javacodegeeks.com/2012/06/full-webapplication-jsf-ejb-jpa-jaas.html
http://na-jawie.blogspot.com/2009/02/aplikacja-jsf-i-ejb-30-w-jboss-tools.html

i wszędzie widzę tzw. warstwę serwisową, bo tak chyba powinno się to nazywać. Chociaż w dwóch pierwszych tutorialach nazwane jest to fasadą. Jednak nie rozumiem sensu istnienia tej warstwy. Przykładowo mamy:

Interfejs dao:

public interface EmployeeDao {

 public Employee create(Employee employee);
}

jego implementacje:

@Stateless
public class JpaEmployeeDao implements EmployeeDao {

 @PersistenceContext
 private EntityManager entityManager;
 
 public Employee create(Employee employee) {
  entityManager.persist(employee);
  return employee;
 }
}

i po co nam jeszcze ta cała warstwa serwisowa, która tylko wywołuje metodę z DAO?

public interface EmployeeService {

 public Employee create(Employee employee);
}

jego implemetnacje:

@Stateless
public class EmployeeServiceImpl implements EmployeeService {

 @EJB
 private EmployeeDao employeeDao;

 public Employee create(Employee employee) {
  return employeeDao.create(employee);
 }
}
0

W najprostszym ujęciu wywołuj tylko metodę DAO. Można jednak obudować to wywołanie o dodatkowe elementy:

  • walidację
  • weryfikację
  • dodatkowe wywołania np. usług
  • co tyko chcesz.
0

@zxcvqwe tak jak pisze kolega wyżej: w tutorialowym banalnym przypadku wywołujesz tylko DAO, ale w realnej sytuacji robisz zwykle dużo więcej niż to :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1