Fala ai Jorge, tudo bem? Vamos lá:
Estou estudando o Angular mais algumas duvida com relação ao Angular sendo um o Front-end e um back-end sendo java a comunicação entre os dois seria somente consumindo Serviços do tipo WebService ou Rest?
Depende, normalmente projetos mais novos estão separando as camadas em repositórios e projetos diferente, ou seja, estamos desacoplando o front do back, onde cada um terá sua base de códigos, seu repositório, processo de deploy, etc...
ou da para trabalhar com alguma coisa do tipo java language como no JSF?
Sim, tem como você adicionar o Angular para trabalhar junto com o Spring por exemplo, mas, como eu disse anteriormente, isso vem diminuindo com o tempo.
Espero ter ajudado.