Viva,
Estou a pensar em qual será a melhor forma para estruturar uma aplicação e preciso de ajuda.
Por alguns motivos não posso divulgar em que consiste, mas imaginemos um clube de video on-line!
Tinha pensado utilizar uma arquitectura SOA, em que tinha váriós serviços que implementavam uma determinada lógica de negócio e posteriormente utilizava DAOs para fazer a leitura/escrita na BD. Por agora a aplicação é apenas para acesso Web, mas mais tarde quero ter suporte para Desktop e Mobile, dai ter pensado nos Web Services.
Tinha uma outra camada de serviços que estava em cima da anterior e ligavam-se por Web Services.
Vou tentar dar um exemplo abaixo:
Exemplo de página para adicionar um filme
Código :
Exemplo de serviço externo:
Código :
Exemplo de serviço interno:
Código :
Exemplo de DAO:
Código :
As minhas questões são:
Estou a pensar em qual será a melhor forma para estruturar uma aplicação e preciso de ajuda.
Por alguns motivos não posso divulgar em que consiste, mas imaginemos um clube de video on-line!
Tinha pensado utilizar uma arquitectura SOA, em que tinha váriós serviços que implementavam uma determinada lógica de negócio e posteriormente utilizava DAOs para fazer a leitura/escrita na BD. Por agora a aplicação é apenas para acesso Web, mas mais tarde quero ter suporte para Desktop e Mobile, dai ter pensado nos Web Services.
Tinha uma outra camada de serviços que estava em cima da anterior e ligavam-se por Web Services.
Vou tentar dar um exemplo abaixo:
Exemplo de página para adicionar um filme
Código :
//... HTML...
// $movie = $movieService->addMovie($title, $author);
// $movie = $movieService->addMovie($title, $author);
Exemplo de serviço externo:
Código :
public function addMovie($title, $author) {
//De alguma forma esta 'ligação' entre o serviço interno e externo é por Web Services...
return internalMovieService->addMovie($title, $author);
}
//De alguma forma esta 'ligação' entre o serviço interno e externo é por Web Services...
return internalMovieService->addMovie($title, $author);
}
Exemplo de serviço interno:
Código :
public function addMovie($title, $author) {
return movieDao->addMovie($title, $author);
}
return movieDao->addMovie($title, $author);
}
Exemplo de DAO:
Código :
public function addMovie($title, $author) {
$newMovie = INSERT INTO TABLE.... bla, bla, bla...
return newMovie;
}
$newMovie = INSERT INTO TABLE.... bla, bla, bla...
return newMovie;
}
As minhas questões são:
- Concordam com esta arquitectura? Alteravam alguma coisa? Estou aberto a sugestões.
- Alguém me consegue exemplificar como posso fazer ali aquela ligação com Web Services? É que a ideia é depois por exemplo fazer uma app mobile em que do serviço externo (inclusivé) para cima, será numa lingiagem diferente.