Jump to content

SOA


smack_dead
 Share

Recommended Posts

olá bom dia, sou novo neste campo e foi me dada uma tarefa em que tenho de fazer um soa composto por

• 3 Serviços simples, independentes

• 1 Orquestrador

• 1 base de dados

A minha duvida, e desculpem a ignorância, é relativamente ao orquestrador.... O que é mesmo isso.... eu sei que ele é quem faz a ligaçao a bd...

mas isto acaba por ser um cliente em java ???

Link to comment
Share on other sites

Bom dia,

... a ligaçao a BD é feita com Drivers / JDBC etc ... Orquestrador permite automatizar a organização, coordenação e gestão de sistemas complexos de serviços ...

Resumo :

SOA é um conceito de arquitectura de software baseado nos serviços para reduzir o acoplamento e a interoperabilidade entre aplicações. Para implementar SOA utiliza-se geralmente os "Web Services" de tipo WS-* . JAVA implementa a partir de Java EE 5 os "Web Services" de tipo WS-* e REST.

Genericamente: Orquestração descreve o processo automatizado de organização, coordenação e gestão de sistemas complexos de computador, middleware e serviços.

Web Services Business Process Execution Language (WS-BPEL) : BPEL é uma linguagem de orquestração de serviços para formar processos de negócios (business process).

Detalhes :

Antes de compreender a orquestração deve dominar o contexto em que ele é inserido.

Service-oriented architecture (SOA) :

Arquitetura orientada a serviços (SOA) é uma arquitetura de software baseada em componentes de software que fornessem serviços por meio de um contrato a outras aplicações.

SOA é independente de qualquer fornecedor, produto ou tecnologia.

Para implementar SOA utiliza-se geralmente os "Web Services" : WS-* = SOAP para o acesso, WSDL para a descrição, UDDI ou ebXML para os endereços localização dos Serviços Web.

Nota : Existem dois tipos de "Web Services" : WS-* e REST ...

Arquitetura Orientada a Serviços é uma resposta muito eficaz para os problemas enfrentados pelas empresas em termos de reutilização, interoperabilidade e reduzir o acoplamento entre os sistemas que implementam os sistemas de informação.

Os Serviços Web ("Web Services") podem ser baseados em plataformas como JavaEE ou .NET, que permitem implementar alguns dos princípios da urbanização do sistema de informação.

Nota : urbanização do sistema de informação na engenharia de software vem de uma analogia com a arquitetura em engenharia civil.

Dentro da arquitetura orientada a serviços, é possível distinguir os conceitos de Diretório, Bus e Contrato de serviço, sendo este último o núcleo e o ponto central de uma arquitetura orientada a serviços. Declinação ou mais precisamente a implementação de SOA baseada inteiramente na Internet é chamado de WOA (Web Oriented Architecture).

Java Web Services (JWS) APIs :

Java tornou-se uma plataforma de desenvolvimento poderosa para Service-Oriented Architecture (SOA) em 2006. Java EE 5, lançado em maio de 2006, aumentou significativamente o poder e facilidade de uso dos recursos de serviços da Web no servidor de aplicativos (Application Server). Em seguida, Java SE 6, lançado em dezembro de 2006, incorporou a maioria dessas capacidades na linguagem de programação Java.

http://docs.oracle.com/javaee/7/tutorial/doc/jaxws001.htm#BNAYN

https://netbeans.org/kb/docs/websvc/jax-ws.html

NetBeans Enterprise Pack é uma ferramenta de código aberto SOA, que contém uma ferramenta de design visual BPEL que torna mais fácil para orquestrar serviços web em um processo BPEL para executar, testar e depurar (debug).

BPEL Service Engine :

https://blogs.oracle.com/gopalan/entry/the_alaska_project

https://blogs.oracle.com/gopalan/entry/jbi_soa_blueprints_loan_application

Outros links: http://orchestra.ow2.org/xwiki/bin/view/Main/FAQOrchestra

Cordialmente

Ernest Duarte

Edited by Ernest Duarte
  • Vote 2
Link to comment
Share on other sites

Bom dia,

Não é uma questão de primeiro ou de segundo tudo deve ser feito conjunto em paralelo.

SOA implementado com WS-* é para grandes projetos !

É utilizado, em particular, para a urbanização do sistema de informação e praças de mercado B2B.

Você deve primeiro entender o mundo do SOA com Web Services veja os ficheiros que disponibilizo aqui : WP09-03.pdf e ImplementingSOA.pdf :

http://objetjava.online.fr/jlvre2/

Em segundo instala o ultimo jdk e NetBeans com GlassFish integrado tem muitos recursos na Web : https://netbeans.org/kb/docs/websvc/jax-ws.html

Uma vez que existem dois tipos de WS (WS-* e REST) existem dois APIs JAVA correspondentes JAX-WS e JAX-RS.

Para saber mais sobre JavaEE JAX-WS e JAX-RS : http://fr.slideshare.net/pt_programar/novidades-de-java-ee-7

Eu sugiro que você leia atentamente o que tenho escrito para tirar proveito.

Cordialmente

Ernest Duarte

Edited by Ernest Duarte
  • Vote 1
Link to comment
Share on other sites

Bom dia,

JAVA e JavaEE é uma norma com especificações do JCP.org. Esta é uma garantia para as empresas ao contrário de outras linguagens de computador.

Isto significa que você pode usar JavaEE em qualquer servidor de aplicativos compatível com as especificações do JCP (Java Community Process ).

No entanto eu recomendo usar GlassFish com NetBeans já que são implementação de referência (RI: Reference Implementation) do Java EE.

Ele contém todas as últimas funcionalidades antes de outros servidores de aplicativos.

Por outro lado Oracle WebLogic Server e GlassFish estão ambos ligados pela Oracle.

Nota : BEA WebLogic foi comprada pela Oracle há algum tempo.

Link do GlassFish : https://glassfish.java.net/

Outra opção WildFly (RedHat JBoss Server) : http://www.wildfly.org/

Jetty " web container" : http://www.eclipse.org/jetty/

IBM WebSphere Application Server é muito poderoso mas é software proprietário da companhia IBM e não é OpenSource : http://www-03.ibm.com/software/products/en/appserv-was/

Conclusão: recomendo as soluções OpenSource: GlassFish, WildFly/JBoss , Jetty, Apache Tomcat ...

Tutoriais Web Services de tipo WS-* : https://netbeans.org/kb/docs/websvc/jax-ws.html

Tutoriais Web Services de tipo WS-* e REST : https://netbeans.org/kb/trails/web.html

Cordialmente

Ernest Duarte

  • Vote 1
Link to comment
Share on other sites

Olá bom dia, apreciei muito os tutoriais, após a conclusão dos mesmos cheguei à duvida 'mãe', então supostamente tenho de fazer um serviço frontal, este tem de ser feito em java-wb, o orquestrador em java ou BPEL(esta ligado a bd) e 3 serviços ( elegiblidade, instalacao e internet) que por sinal esta ligado a bd também, e são serviços independentes,

A minha questão é vou desenvolver um web server que terá de ser consumido pelo BPEL(OU aconselha em java?, isto será a app cliente que correra em background? e que vai estar ligado a mais 3 web servers?) e o web server (serviço frontal o netbeans permite desenvolver um formulário por exemplo? )

Link to comment
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
 Share

×
×
  • Create New...

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.