Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

samuca

Webservices + Segurança

Recommended Posts

samuca

Eu preciso de colocar webservices numa aplicação já existente mas este devem ter segurança (autenticação de utilizador). Não me convinha transformar toda a aplicação numa aplicação Web (que dependesse de um servidor a correr (Glassfish ou Tomcat) para funcionar)..

Alguém já fez algo do género?

É que a maior parte da documentação que eu vejo é para desenvolver um simples webservice autónomo e independente de uma aplicação já existente.

Share this post


Link to post
Share on other sites
M6

Não sei se percebi bem o teu problema, mas vamos por partes.

1. Para teres segurança no webservice investiga por ws-secure, vais encontrar o que procuras.

2. Quanto à integração do webservice, provavelmente não necessitas de ter o mesmo a correr na tua aplicação, dado que não me parece que o mesmo tenha de fazer uso do GUI, por exemplo. O que provavelmente deve acontecer é que o webservice poderá ter de partilhar alguns componentes da tua aplicação, por exemplo leitura, validação e escrita de informação na base de dados. Se assim é, basta externalizares esses componentes para um JAR que é partilhado pela tua aplicação e pelo webservice.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
samuca

2. Quanto à integração do webservice, provavelmente não necessitas de ter o mesmo a correr na tua aplicação, dado que não me parece que o mesmo tenha de fazer uso do GUI, por exemplo. O que provavelmente deve acontecer é que o webservice poderá ter de partilhar alguns componentes da tua aplicação, por exemplo leitura, validação e escrita de informação na base de dados. Se assim é, basta externalizares esses componentes para um JAR que é partilhado pela tua aplicação e pelo webservice.

Por acaso preciso de o ter a correr mesmo na aplicação, mesmo porque interage com o GUI.

Share this post


Link to post
Share on other sites
M6

Interage com o GUI?

Não sei porquê isso cheira-me mesmo, mesmo, mas mesmo mesmo a esturro!...

Isso quer dizer que vais ter uma instância da tua aplicação para responder a cada pedido desse webservice?

É que senão não consegues responder a dois pedidos em simultâneo, dado que o primeiro estará a usar o GUI.

E que vais ter de ter uma sessão aberta no SO dado que sem sessão não há contexto para correr uma aplicação gráfica.

Já agora para que serve a interacção com o GUI?

Vais simular interacção humana?

Não há absolutamente nada que o GUI tenha que não se possa fazer sem GUI em background...


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
samuca

Interage com o GUI?

Não sei porquê isso cheira-me mesmo, mesmo, mas mesmo mesmo a esturro!...

Estou a chegar à conclusão que tens razão, se calhar pensei mal na solução possível e webservices não será a melhor solução.

Basicamente eu queria pegar numa aplicação já existente e separar o GUI da camada de negócio e pelo meio comunicar com webservices. Isto permitiria arrancar o meu programa como um processo e só posteriormente arrancar o GUI...

Share this post


Link to post
Share on other sites
M6

A separação do GUI com a camada de negócio é obviamente um must de design que deve ser feito desde o inicio.

Da mesma forma como o GUI está separado da camada de negócio, os webservice estará ao mesmo nível, deve comunicar com a camada de negócio e nunca com o GUI.

O que descreves está a ficar alinhado com o que havia dito inicialmente, tens a camada de negócio extrenalizada num JAR que é partilhada pela tua aplicação, que contém o GUI, e pelo webservice.

O webservice serve para comunicares com outros sistemas, no caso que descreves (e pelo que compreendi) serve para responder a pedidos de outros sistemas. Por isso se tiveres o webservice a correr num servidor e a usar a camada de negócio partilhada terás a tua separação entre o webservice e a aplicação propriamente dita.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.