Application Services

Application Services bieten eine Fassade für alle Funktionen des Backends. Application Services sind als Stateless EJBs implementiert, was Synchronisationsprobleme ausschließt. Durch Application Services wird die Funktionalität clientunabhängig zur Verfügung gestellt, d.h. mehrere Implementierungen im Web-Layer können einfach an entsprechende Application Services delegieren.

Im Falle des implementierten Webservices ist die Zuständigkeit des Web-Layers das Mapping von HTTP Methoden/URLs auf ApplicationServices:

PersonResource.java

@Path("/person")
@RequestScoped
public class PersonResource {

        @Inject
        private PersonService personService;

        @GET
        @Path("{personId}")
        @Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
        public PersonDetailDto getPerson(@PathParam("personId") int personId) {
                return personService.getPerson(personId);
        }

}