novembro 23, 2009

Oracle e SpringSource lançam um projeto Eclipse baseado nos padrões OSGi

Oracle e SpringSource propuseram um novo projeto Eclipse chamado Enterprise Modules ou Project Gemini. Maiores detalhes no link http://eclipse.org/proposals/gemini/. O projeto envolve colaboradores da Oracle e SpringSource e é liderado pelo Mike Keith, que eu conheci recentemente no TDC 2009.

O objetivo primário do projeto é prover acesso a implementações padrão de tecnologias corporativas dentro de um framework modular. OSGi Alliance desenvolveu especificações para a aplicação e uso de muitas das tecnologias dentro de OSGi. Essas especificações descrevem como fornecedores devem implementar e interoperar com serviços existentes, e como a modularidade OSGi, ciclo de vida e modelos de serviços devem ser aplicados com relação a essas tecnologias. Gemini terá implementações de várias dessas especificações, tais como:RFC 66 — Web Container

  • RFC 98 — Transactions
  • RFC 122 — Database Access
  • RFC 124 — Blueprint Services
  • RFC 139 — JMX Integration
  • RFC 142 — JNDI Integration
  • RFC 143 — JPA Integration
  • RFC 146 — JCA Connector Integration

novembro 9, 2009

The Developers Conference 2009

No sábado eu estive no evento The Developers Conference, organizado pela GlobalCode. Foi uma grande oportunidade de rever algumas pessoas, tais como o Spock, Danival e Cláudio. O evento foi muito bem organizado e teve alguns destaques interessantes:

  • Rod Johnson – SpringSource/Vmware, criador do Spring Framework
  • Ed Burns – Sun, líder da especificação JSF
  • Alejandro Guizar – Red Hat, ligado ao projeto jBPM
  • Mike Keith – Oracle, atuou na especificação JPA

Era esperada também a presença do Chris Schalk, da Google, mas infelizmente ele não pode participar. Foi prontamente substituído pelo Fabrício, também da Google.

Todas as palestras foram bastante interessantes. Conversei com o Mike Keith da Oracle, e em sua apresentação ele comentou sobre recursos do JPA, e também teve uma participação de destaque no painel final que reuniu todos os palestrantes em uma discussão sobre cloud computing. Ele comentou sobre um dos riscos do uso de cloud computing, que é a perda da propriedade sobre dados e código, já que eles estarão num outro ambiente, fora da empresa.

O evento continua durante a semana nas cidades do Rio de Janeiro e Florianópolis. Para detalhes do evento, ocorrido nesse final de semana, veja: http://www.thedevelopersconference.com.br/tdc/2009/index.seam

outubro 29, 2009

Oracle e Sun:

Foi liberada uma nova versão de um FAQ onde a Oracle coloca os seus planos com relação as ferramentas da Sun. O FAQ em questão encontra-se em:

http://www.oracle.com/ocom/groups/public/documents/webcontent/038563.pdf

Segue uma pequena lista contida no FAQ:

  • Glassfish – evoluir a ferramenta, suportar a comunidade e ser uma referência open source de implementação da especificação JEE
  • NetBeans – opção open source complementar aos ambientes de desenvolvimento Jdeveloper e Oracle Enterprise Pack for Eclipse.
  • MySQL – adicionar ao conjunto de produtos de banco de dados, que já contém BerkeleyDB na lista.
  • OpenOffice – continuar desenvolvendo e suportando OpenOffice como opensource, com a opção de licenciamento para grandes clientes.
  • Virtualização – integrar com os produtos de virtualização da Oracle.

outubro 28, 2009

Palestra sobre Governança em TI

Na próxima sexta-feira, as 19:00, estarei na faculdade Veris/IBTA em Campinas para dar uma palestra cujo tema é Governança em TI. A idéia é falar sobre governança, motivações, e passar por alguns temas tais como ITIL, COBIT, TOGAF, SOX, e outros temas correlatos.

Farei algumas postagens com um pouco do conteúdo que darei na palestra.

outubro 13, 2009

O que é COBIT?

Há algum tempo estava querendo postar algo sobre COBIT, já que sempre há algumas perguntas sobre o que vem a ser essa sigla. Vou dar um breve overview sobre o assunto.

Control Objectives for Information and related Technology (COBIT®), atualmente na versão 4.1, tem como objetivo prover boas práticas além de ser um framework de processo e apresentar atividades numa estrutura lógica e gerenciável. A idéia é que com essas boas práticas possa-se otimizar investimentos em TI, garantir a entrega e prover meios de medir a situação do ambiente.

O framework COBIT:

  • estabelece uma ligação com os requisitos de negócio
  • organiza as atividades de TI numa forma de processos
  • identifica os principais recursos de TI
  • define os objetivos de gerenciamento a serem alcançados

Há portanto uma forte ligação com o que costumamos chamar de governança, ou mais especificamente, governança de TI. Logo, COBIT suporta a governança de TI de modo a garantir que TI esteja alinhado com as áreas de negócio, que IT maximiza os benefícios de negócio, que os recursos de TI são usados responsavelmente e que os riscos sejam tratados adequadamente.

Nos próximos posts vou procurar entrar em mais detalhes sobre o COBIT, os produtos, os processos, enfim, mais detalhes sobre o framework.

Novas features planejadas nas ferramentas

No link http://ow.ly/15Uskh podemos ver o recente anúncio da Oracle sobre algumas novas features que serão adicionadas às futuras releases do Jdeveloper, ADF, WebLogic Suite, SOA Suite e WebCenter Suite. Seguem uma pequena relação para Jdeveloper e SOA Suite:

Oracle JDeveloper:

  • suporte para Maven, JSON, Facelets, UML 2.0
  • Oracle ADF Mobile Client
  • Task connector e Bugzilla connector para o Oracle Team Productivity Center
  • HTTP analyzer com suporte a serviços REST e WS-Policy

Oracle SOA Suite

  • criar dashboards no BAM em poucos cliques através do JDeveloper
  • uma interface baseada em web para os analistas de negócio endereçarem mudanças em processos e regras
  • adicionar lista de compatibilidade e interoperabilidade com outros produtos

Para ver mais detalhes, basta visitar o link mencionado acima.

setembro 4, 2009

O que é CEP ou Complex Event Processing?

Em linhas gerais, trata-se de analisar uma série de dados em tempo real e com base nisso, identificar padrões e gerar eventos que podem ser tratados. É uma operação feita em memória e a lógica é definida através de uma série de consultas (ou queries) feitas sobre o conjunto de dados recebidos.

Algumas necessidades atendidas:

  • processar alto volume de dados
  • fluxo contínuo
  • latência em nível de sub-milissegundos
  • fontes variadas
  • janela de processamento limitado
  • busca de padrões

O processamento de eventos torna-se então, capaz de receber um enorme conjunto de dados, e aplicar:

  • filtro
  • correlação e agregação de informações
  • associação de padrões

Entre seus conceitos, temos:

  • extensão do modelo relacional para suportar consultas contínuas
  • construção de janelas sobre um grande fluxo de informações
  • usar operadores relacionais para caracterizar eventos extraídos dos fluxos
  • busca de padrões

A linguagem de consulta utilizada é CQL – Complex Query Language (ANSI).

Exemplos de cenários onde o CEP pode ser útil:

  • processamento de dados em pedágios
  • identificação de padrões em rotas de transporte (aéreos, rodoviários)
  • identificação de momentos para compra e venda de ações
  • serviços de emergência
  • controle de bagagens em companhias aéreas

Falarei mais sobre o assunto em breve.

Para mais informações: http://www.oracle.com/technologies/soa/complex-event-processing.html

CEP in Real World: http://www.oracle.com/technologies/soa/docs/oracle-complex-event-processing.pdf

setembro 2, 2009

Um cenário de integração

Um site que eu acho interessante é o Enterprise Integration Patterns (http://eaipatterns.com/). Na verdade, há um livro escrito sobre o assunto, e no site há uma série de informações úteis. Problemas de integração que atormentam a vida de muitos desenvolvedores e arquitetos ao redor do mundo.

No site podemos encontrar estilos de integração, sistemas de mensagens, canais de mensagens, construção de mensagens, roteamento e transformação de mensagens, além de informações sobre os tipos de endpoints e gerenciamento de sistemas.

Um dos problemas que existem, e que tive de lidar recentemente, pode ser traduzido pelo seguinte cenário:

Imagine um sistema escrito numa linguagem e que ao longo do tempo desenvolveu uma série de serviços de alta granularidade. Um exemplo desse tipo de serviço seria algo como ObterDadosDoCliente que devolve informações gerais sobre o cliente, tal como endereço, documentação, perfil de consumo, dados de contato, tudo numa única requisição mas internamente chamando uma série de pequenos serviços.

Com a evolução natural dos sistemas, esse sistema (fornecido por um terceiro) entra numa nova versão, e nessa nova versão não há um serviço chamado ObterDadosDoCliente, mas sim uma série de pequenos serviços tais como obterCliente(), obterEndereco(), obterDocumentação, etc.

A tela principal do call center sempre chamou o serviço ObterDadosDoCliente. Entretanto a mudança para um novo sistema será feita em partes: um conjunto de clientes de cada vez. Através de estratégias de integração, e do uso de ferramentas, como poderíamos resolver esse problema com o menor impacto possível para a tela do call center?

Volto a esse assunto nos próximos posts. E aguardo idéias e opiniões :)

SCA no Oracle SOA Suite 11g

SCA significa Service Component Architecture. Trata-se de um modo de representar a lógica de negócios como componentes de serviço reutilizáveis que podem ser facilmente integradas em uma aplicação SCA. A aplicação resultante é conhecida como uma aplicação SOA composta (ou composite). A especificação do padrão SCA é mantida pelo grupo OASIS.

No diagrama abaixo, extraído do arquivo composite.xml, que no Jdeveloper é usado como base para representar as aplicações compostas, podemos ver componentes BPEL, Mediator e Business Rules interagindo juntos para resolver um dado problema de negócio.

image

A partir desse diagrama podemos configurar cada um destes componentes, e visualizar os serviços externos referenciados. Além de termos mais claramente como cada componente interage com os outros.

agosto 29, 2009

Licenciamento: outra vantagem do Oracle VM

Quando se licencia software, uma unidade usada para efeito de cálculo do custo de licenciamento é o número de processadores/cores da máquina. Ou seja, tendo-se uma máquina com quatro processadores, teremos o custo de licenciamento de um software (como um banco de dados) baseado nesse número de processadores.

E quando falamos em virtualização, como isso ocorre?

A Oracle, no documento http://www.oracle.com/corporate/pricing/partitioning.pdf, define os critérios para particionamento baseado em dois tipos de particionamento disponíveis:

  • Soft partitioning: trata-se de segmentar o sistema operacional usando recursos gerenciadores do próprio sistema operacional. Ou seja, o administrador pode definir o número de processadores a serem usados para uma dada aplicação, e uma eventual alteração no número de processadores é bem fácil. Essa forma de particionamento não é válida para se determinar o número de processadores a serem usados no licenciamento.
  • Hard partitioning: trata-se de segmentar fisicamente o uso dos recursos de um servidor, criando sistemas pequenos e separados. Cada sistema age como uma única física independente. Essa é uma forma válida de determinar o número de processadores a serem usados no licenciamento.

E o Oracle VM? Em princípio, o Oracle VM também está na categoria de soft partitioning, mas um documento existente em http://www.oracle.com/technology/tech/virtualization/pdf/ovm-hardpart.pdf explica como configurar o software de modo a delimitar o número de processadores a serem utilizados, e com isso, entrar na categoria Hard partitioning, tornando válida a determinação do número de processadores para efeitos de licenciamento,

About

galdino-chl.JPG

Fernando Galdino trabalha como Consultor de Vendas Senior da Oracle Brasil para produtos de middleware SOA.

Possui várias certificações profissionais, incluindo a SCEA (Sun Certified Enterprise Architect) e PMP (Project Management Professional).

Saiba mais visitando Linkedin e Twitter.

Meu email: fernando.galdino@oracle.com

profile counter myspace

Categories

Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by
Movable Type and Oracle