Tuesday, October 30, 2007

Microsoft e Seu WebSite sobre SOA (finalmente)

Acreditem, a Microsoft acabou de lançar seu site sobre SOA. Um pouco tarde, é bem verdade mas, antes tarde... O mercado é tão cético quanto à estratégia (?) da Microsoft que foi necessário um artigo afirmar que, sim, a turma de Redmond tem uma "SOA Strategy". O artigo vem do site Redmondmag.Com, que se entitula "A Voz Independente da Comunidade Microsoft" (sic).

Percebem que pelo meu "tom" eu desconfio seriamente das intenções da empresa que criou o Windows em relação a Arquitetura Orientada a Serviços.

Veja o que afirma este post de um blog da MSDN/Microsoft: "...But we've seen the error of our ways! SOA remains an important theme for the industry, a key opportunity for customers. And We, Microsoft, have slowly but steadily evolved and matured and broadened our thinking on SOA, and that's a Good Thing..." Em outras palavras, "nós erramos, SOA é importante, temos avançados lentamente, a prova disso é este novo website" ?!? Novo site é um avanço?

Vamos ao conjunto de soluções que eles oferecem para implementar sua arquitetura orientada a serviços:
  • Visual Studio
  • System Center
  • .NET Framework
  • SharePoint Server
  • BizTalk Server
Conclua você mesmo. No more comments.

Monday, October 29, 2007

Oracle faz oferta pela BEA (IV)


Na Sexta, 29/Out, a Oracle disse "No BEA, I will not pay US$ 21,00/share!". No comunicado à BEA afirma, entre outras coisas:

  • Com exceção da Oracle, não houve nenhuma outra oferta pela BEA
  • Larry Ellison acha que US$ 17,00/ação é um preço mais do que justo e
  • Não irão aumentar a oferta - Duvidam que alguém irá pagar o preço solicitado pela BEA (US$ 21,00/ação)

Neste instante (vide data/hora do post abaixo), a ação da BEA está valendo US$ 16,50. Ou seja, o mercado está dando razão à Oracle?

Saturday, October 27, 2007

SOA e CEP


Primeiramente vamos à algumas definições de CEP:
  • CEP é uma nova tecnologia vide esta definição (Stanford University)
  • CEP envolve a o processamento e análise contínua de um grande volume de dados para detectar situações críticas (relacionadas ao negócio) à medida que estes eventos ocorrem. Veja esta definição de uma artigo da IBM:
CEP involves the continuous processing and analysis of high volume, high-speed data streams from inside and outside an organization to detect business-critical issues as they happen. In comparison to traditional intelligence processes that provide delayed analysis, CEP software processes event data streams and drives resulting business events in real time. Specific application examples include:
  • Real-time financial market data analysis and enrichment to drive algorithmic trading, or capture trading data for regulatory compliance reporting
  • RFID and sensor network data correlation and processing for healthcare asset and patient tracking, or retail distribution chain replenishment
  • Real-time clickstream analysis for customer experience management, interactive personalization, and fraud detection
CEP engines provide infrastructure software that abstracts from the developer the low-level programming details of event processing. This is analogous to the way databases abstracted storage, indexing, and access functions for data management.
Desde 1991 trabalho na industria de Telecom. Mesmo em companhias de médio porte (Operadoras), lidamos diariamente com milhões e milhões de eventos (e.g. as chamadas telefônicas). Algumas ações precisam ser tomadas em tempo real (principamente questões relacionadas com a Engenharia da Rede e Billing).

Juntamente com SOA (interoperabilidade, agilidade, lingua "franca" para integrar sistemas), o CEP se encaixa perfeitamente na realidade das empresas de Telecom.

A infra-estrutura de uma arquitetura SOA é tudo que CEP precisa. Todas as mudanças de status, toda transição de estados entre os participantes de um arquitetura SOA podem ser monitorados através de ferramentas previstas em uma solução de uma service-oriented architecture. CEP adicional "inteligência" no topo disso tudo.

Veja um exemplo desta afirmação neste excelente artigo:
"You can set up CEP to alert you when three parts of the flow start to be longer than five minutes," he explained. "So you're adding real-time business intelligence on top of your SOA infrastructure. I think that's the way CEP is a complement to what you're doing with SOA. They are generating events from services and CEP is able to add intelligence on top of that. You can see how your business is running by putting a real-time dashboard on top of it."

Thursday, October 25, 2007

Oracle faz Oferta pela BEA(III): US$ 17,00/share? No Way


O deadline dado pela Oracle termina neste Domingo (28/Out). A BEA, apoiado pelo seu "financial advisor" Goldman Sachs, topa conversar se o valor/ação iniciar em US$ 21,00. Os US$ 17,00 propostos pela Oracle? Nem pensar!

Veja trecho da nota de BEA:
"We continue to believe that Oracle's unsolicited proposal to acquire BEA at $17.00 per share significantly undervalues BEA, and is therefore not in the best interests of BEA shareholders. Accordingly, we will continue to vigorously oppose a sale to Oracle at $17.00 per share ."
(fonte: Java.sys.com)

Monday, October 22, 2007

A [R]evolução da Informação

Vídeo interessante sobe a [R]evolução da Informação (from YouTube.com):

Sunday, October 21, 2007

Conferência SOA: Melhores Práticas e Web Services

Nos dias 23 e 24/Out/07 eu o Denis Bertoluci estaremos ministrando uma palestra e um Workshop no evento "Melhores Práticas Arquitetura Orientada a Serviços (SOA) & Web Services".

Este é mais um evento onde iremos apresentar um caso prático de implementação da Arquitetura SOA na Transit Telecom (empresa onde trabalhamos).

Será uma abordagem prática, sem muita teoria sobre SOA; o foco da minha palestra, e do Workshop conduzido pelo Denis, será a nossa experiência na implantação de uma arquiteura orientada a serviços.

Volte a este blog a partir do dia 25/10/07 e verifique as novidades desta palestra.


Performance? WS-* não é a melhor escolha


Estou cada vez mais convencido de que quando a performance é um requisito, devemos avaliar alternativas para os Web Services.

O exemplo detalhado neste artigo é um case da bolsa de mercadorias de Nova York onde, devido a questões de performance, o Java Messaging Service (JMS) foi a escolha da Progress Software para implementação de um projeto baseado em SOA.

Este sistema irá suportar até 1.2 milhões de contratos (negociações)/dia (aumento de 38% no volume atual) e irá processar mais de 50,000 mensagens/segundo.

Segundo o CTO da Progress Software, Hub Vandervoot,
HTTP SOAP just isn't reliable enough nor does it have the performance for the kind of traffic we're talking about here.

Thursday, October 18, 2007

SOA e Open Source

David S. Linthicum faz uma interessante abordagem sobre SOA e as alternativas open source para implementar a arquitetura orientada a serviços. Neste artigo ele coloca de forma simples como a discussão deve ser conduzida.

Vou tentar resumir:
  1. SOA é uma arquitetura: você como arquiteto ou líder técnico de um projeto SOA tem que ficar atento às tecnologias corretas para a arquitetura proposta; sejam elas open source ou não.
  2. Open Source custa menos: não há discussão. Sou um fervoroso defensor do software livre e acho, sim, que ele pode ser aplicado em algumas situações. Considere esta alternativa para, no mínimo, validar a sua arquitetura.
  3. Open Source SOA é mais simples: reconheço que, às vezes, pode ser mais difícil de configurar, porém, concordo com o autor que esta abordagem simples e "rústicas" das opções de software livre facilitam o entendimento da arquitetura.
Em um cenário onde você precisa integrar uma aplicação departamental utilizando esta arquitetura, você acha razoável investir milhares de dólares ($$$) em um ESB? SOA pressupõe padrões abertos e está relacionado com uma nova forma de "pensar" os sistemas. Não há porque temer, a menos que seus requisitos de performance tenham um grande peso. Neste caso se faz necessária uma avaliação mais criteriosa.

SOA é um "estilo de vida" e, na minha humilde opinião, "estilo de vida" não pode estar baseado em poder de compra.

Tuesday, October 16, 2007


A Revista Mundo Java n.25 tem uma série de reportagens sobre o Arquiteto de Software.

Destaco nesta edição a excelente de capa com o título "O Papel do Arquiteto de Software".

Algumas definições são básicas mas, exatamente por serem fundamentais, é sempre bom traze-las à memória:
  • Arquitetura é infra-estrutura na qual a aplicação estará "calçada". É a fundação que vai garantir que o sistema poderá crescer e expandir sem problemas de "rachaduras". O arquiteto(a) responde por decisões como:
    • qual framework utilizar
    • como será a integração com os demais sistemas
    • como devem ser tratados os requisitos de performance, segurança, usabilidade...
    • padrões a serem adotados
  • O que deve guiar a arquitetura? Requisitos
  • Um bom arquiteto deve saber ouvir a equipe de desenvolvimento
  • Qualidades como negociação e capacidade de se comunicar na mesma lingua do usuário também são importantes e são esperadas de um bom arquiteto(a)
  • Deve ser adepto da filosofia KISS!: Keep It Simple, stupid!
Por fim uma frase do texto: "A melhor arquitetura é aquela que resolve os requisitos da maneira mais simples possível"

Se você pensa em ser arquiteto, é arquiteto ou "pensa que é " arquiteto, recomendo a leitura.

Eclipse Libera 1a. Plataforma AJAX baseada em OSGi

Eclipse Foundation liberou nesta Seg, 15/Out/2007, o release 1.0 do Eclipse Rich Ajax Platform (RAP) . Leia aqui o press-release.

Segundo esta nota do Java Developer's Journal:
- RAP 1.0 é a primeira plataforma AJAX, baseado no standard OSGi, que permite a criação de aplicações RIA com o Eclipse

- OSGi é um ambiente "service-oriented, component-based" que promove a interoperabilidade de aplicações e serviços. Empresas que irão utilizar o RAP serão capazes de criar aplicações AJAX/RIA que são componente-based e integra-las aos sistemas corporativos.

Mais sobre OSGi direto da Wikipedia:


Definição:
The Framework implements a complete and dynamic component model - something that is missing in standalone Java/VM environments. Applications or components (coming in the form of bundles for deployment) can be remotely installed, started, stopped, updated and uninstalled without requiring a reboot - management of Java packages/classes is specified in great detail. Life cycle management is done via APIs which allow for remote downloading of management policies. The service registry allows bundles to detect the addition of new services, or the removal of services, and adapt accordingly.

Monday, October 15, 2007

Oracle faz Oferta pela BEA (II)



Desde o anúncio da Oracle muito tem-se falado e escrito na blogosfera. O site do Java Developer's Journal resumiu alguns comentários nesta página. Selecionei dois pontos de vista interessantes:

  • Ronan Bradley speculates that the acquisition would mark: "The end of the J2EE era." He observes:
"I think if this bid is successful it does marks the end of the J2EE era. Not that I am suggesting that J2EE application servers are going to go away of course. Rather, the world has moved on from what created that market in the late nineties. At one end of the spectrum, the focus has moved back towards technology independent architectures with SOA (just as CORBA attempted to do in the pre-J2EE days - all be it by creating another set of technology). At the other end, lighter weight approaches such as Spring have superceded the heavier and more complex EJB model (which to be fair has also moved with the times but probably too late).

It is also worth noting that the disappearance of the large enterprise focused ISVs continues - in one week we appear to be losing another two. It is beginning to look like that the enterprise software market is heading for a strongly polarised world made up of a big-four (MS, Oracle, IBM and SAP) with a huge gap to the next division."


  • Retired JBoss founder Marc Fleury had his own characteristically insightful analysis of the bid
"Truth be told, the combination just makes sense from most angles I can think of. Product wise, this acquisition probably puts Oracle as market leader in terms of marketshare by a comfortable margin. By consolidating BEA and ORA's market share they are leapfrogging both IBM's websphere and RedHat's JBoss.

From a financial standpoint, Oracle grows by executing correctly on their strategic acquisitions. They have a track record here, they deliver consistent 30% growth on a behemoth of a company by not screwing up what they buy.
From a operations standpoint, executing on this one is fairly straightforward for them. The sales models are the same, the business models are the same, pretty much everything but development can go, extracting immediate EBITDA anywhere from 30% to 60% depending on how far they want to cut it. In that sense, even though ORA stock is down 2% on the news, this one may make complete numbers sense."

Friday, October 12, 2007

Oracle faz Oferta pela BEA



Todo o mercado já esperava que a BEA iria ser adquirida: Microsoft?, Oracle?... ...Nesta Sexta, 12/Out/2007 a Oracle fez uma oferta de US$ 6.7 milhões pela BEA.

Qual o impacto no mercado se esta aquisição se concretizar? Segundo analistas do Forrester Research, as empresas do midmarket devem ser "forçadas" a utilizar produtos da empresa do Sr. Larry Ellison; os produtos da BEA seriam oferecidos para as grandes empresas. Esta afirmação é detalhada aqui. Ainda acho muito cedo para qualquer conclusão.

Coincidência ou não, hoje especula-se que o Oracle Fusion só irá ser liberado em 2009 (!).  É muito tempo...

De qualquer forma, a BEA já respondeu hoje à oferta da Oracle e, claro, acha que a empresa vale mais do que a oferta que recebeu.

Vamos acompanhar os capítulos desta novela.

Livro: SOA na Prática


A editora O'Reilly lançou em Agosto/2007 a 1a. edição do livro "SOA in Pratice", com o sub-título "The Art of Distributed Sytem Design".

O objetivo, segundo o autor, Nicolai Josuttis, é dismistificar um pouco do mito que se tornou SOA. Geralmente este termo está relacionado a complexidade, grandes sistemas, soluções para grandes corporações... ...quando, na minha opinião, não passa de uma (excelente) estratégia de integração de sistemas, preservação do legado, trazendo TI para mais próximo do mundo real, através do conceito de serviços.

A O'Reilly apresenta um preview de todos os capítulos do livro: clique aqui para acessar.

Ainda não comprei o livro (estou esperando o US$ chegar a 1,00 :-)). Quando eu comprar escrevo minhas impressões aqui. 

Gartner e as Top 10 Tecnologias Estratégicas: Onde está SOA?

Um dos autores do blog "Between the Lines" esteve no "Gartner Symposium/ITxpo" (Orlando, FL) e nos conta neste post quais as "top 10" áreas estratégicas de tecnologias listadas pelo Gartner Group:



A má notícia é, como vocês podem ver pelo quadro acima, SOA não está na lista. A boa notícia é que eles já estão tendo uma visão "beyond SOA"; ou seja, já assumiram que SOA já é uma realidade e estão analisando as tecnologias que implementam, complementam ou ampliam os horizontes da arquitetura orientada a serviços.

Veja o exemplo das Web Platforms (também conhecidas como SaaS) e WOA (Web-oriented Architecture):


Web platforms (also known as SaaS today). Cearley says that 25 percent of Gartner customers have some form of SaaS already. Cearley advises that IT managers build in SaaS providers into their sourcing strategies.

Longer term, however, Web platforms will be the model for the future. Ultimately everything–infrastructure, information, widgets and business processes–will be delivered as a service. All of these intertwined APIs will give us a acronym: WOA (Web oriented architecture.) “Put this on your radar screen and start with some ‘what if’ models,” says Cearley. These Web platforms will also make mashups more common in the enterprise. In fact, Cearley argues that enterprises will need an architecture just to manage mashups.

Tuesday, October 09, 2007

Open Source Web Services Engines: Comparativo Performance

Este artigo da SOA World Magazine traz uma comparação de vários Web Services engines que são open source. Veja na tabela abaixo os engines testados:


Os autores (Krishnendu KuntiRahul Muralidhar e Nagarani Badveeti) detalham alguns testes de performance dos engines acima. Estes testes foram baseados na capacidade de processar XMLs utilizando diferentes bidding frameworks (em adição ao bidding nativo).

Antes, do mesmo  artigo, um pouco da história dos Web Services:
  • 1a. Geração: e.g. APACHE SOAP utilizavam a API DOM e não tinham boa performance
  • 2a. Geração: e.g. Apache Axis 1.4 tinham suporte nativo para WSDL, JAX RPC e SAAJ; o problema, segundo os autores, é a limitação no que se refere à integração com "XML bidding frameworks"externos. Sào mais performáticos quando comparados aos da 1a. geração, porém ainda tem uma performance ruim em cenários de grandes "XML payloads"
  • 3a. Geração: e.g. XFire e Axis2 utilizam StAX para "processar" o XML e possuem uma arquitetura "plugável"que permite a integração com "bidding frameworks"externos, além de suportar um número maior de WS* standards
Vamos ao que interessa. Vejam abaixo alguns resultados dos testes realizados:
# de Transações por Segundo


Tempo médio de resposta de uma Transação (segundos)

Throughput: "quantidade de dados" o serviço foi capaz de enviar para o cliente em 01 segundo





Conclusão dos autores:

First, it seems obvious that the performance of third-generation SOAP engines is significantly better than that of its first- and second-generation counterparts.

It's concluded that the JibX Binding Framework offers the best performance and a great deal of flexibility through its binding definition file. However, defining bindings for complicated objects can become very cumbersome and time-consuming.

It's also concluded that XFire with JibX offers the best marshalling and un-marshalling performance, and is only marginally slower than Axis2 with JibX in round-trip performance, which can be largely attributed to the slower client-side processing by the XFire-based JibX client. XFire also seems to offer the best scalability, speed, and throughput among all test cases. Moreover, the ease of development using JibX binding with XFire over Axis2 with JibX makes this an attractive option.

However, it's worth noting that, if ease of use and development is of essence, Axis2 with ADB offers the best balance between ease and performance - Axis2 with ADB is extremely easy to use (however, it's less flexible than JibX) and offers very decent performance.

Monday, October 08, 2007

SOA Video: Da série "Greg o Arquiteto"



Mais um vídeo da série "Greg, the architect". Desta vez os fornecedores "apresentam" SOA
para Greg que, confuso, tem uma "SOA overdose".