Desenvolvimento de uma aplicação utilizando SOA: um estudo de caso

Minhas anotações sobre a apresentação do artigo "Desenvolvimento de uma aplicação utilizando SOA: um estudo de caso" por Roberto Felipe Caliendo e Daniel Luís Notari durante o V ERBD em Ijuí.

---

SOA: organizar o desenvolvimento de software com base nas regras de negócio da empresa com acesso de forma distribuída.

SOAP: Simple Object Acess Protocol

WSDL: Web Service Description Language

Repositório UDDI: Universal Description, Discovery and Integration

MOTIVAÇÃO

os sistemas existentes hoje não estão aptos a trocar informações automaticamente pois são feitos em linguagens diferentes, com formas de armazenamento diferentes etc.

OBJETIVO

implementar alguns serviços nque pudessem ser reutilizados utilizando RSS (realy simple syndication??), web services abertos ao publico que queira se cadastrar e selecionar suas preferencias de leitura, web service de email e outro de operações diversas...

ARQUITETURA Microsoft
- SQL Server
- turbo delphi for dotnet
- IIS

DESENVOLVIMENTO EM CAMADAS: aplicação - webservice - negócio - BD

CONCLUSÕES

- SOA: necessidade de planejar, definir corretamente interface do serviço, diferentes aplicações consomem o mesmo serviço, trocar informações.
- Dificuldades técnicas para montagem de ambiente de desenvolvimento
- Disponibilidade webservice: CEP - Correios, era grátis passou a ser pago.
- Precisa ser testado em larga escala, viabilidade, problemas com muitos acessos...

E-mails: rfcaliendo@gmail.com, daniel.notari@ucs.br

Até.

Banco de Dados para o Núcleo de Pesquisa e Aplicações de Geotecnologias em desastres naturais e eventos extremos

Fica aqui minhas anotações, ainda do V ERBD, sobre a apresentação de artigos técnicos sobre BDs, a primeira apresentação foi sobre banco de dados para o núcleo de pesquisa e aplicações de geotecnologias em desatres naturais e eventos extremos, com Jolvani Morgan - INPE - CRS.

OBJETIVOS
- Mapeamento de áreas de riscos com imagens de satélites
- Criação de mapas e cartas para monitormanento dinamico

Utilizam PostgreSQL suporta dados espaciais de forma nativa utilizando em conjunto a extenção PostGis

Ferramentas SIG (sistemas de informação geográfica??) para visualização de multipolígonos gravados no banco: quantum GIS

Utilizaram uma ferramenta pra gerar PHP pra desenvolver um sistema web para obter informações de pessoas ao redor do mundo sobre desastres e ver imagens, mapas e dados do banco.

I3Geo - ferramenta para geração de mapas dinâmicos

Home page: http://www.inpe.br/crs/geodesastres
E-mail: jmorgan@inf.ufsm.br

Logo mais resumos dos outros artigos técnicos, até.

ERBD 2009: Funções de similaridade e suas aplicações

Minhas anotações sobre o mini-curso "Funções de similaridade e suas aplicações" ministrado pela Carina F. Dorneles (dorneles@upf.br), durante o V ERBD.

FUNÇÕES DE SIMILARIDADE

- Como calcular a similaridade?
Similaridade é uma coisa subjetiva e o computador te muita dificuldade de definir se é ou não.

- Consulta
Executar consultas sobre várias bases de dados

- Integração
Efetuar integração dos dados

- Data Cleaning
Efetuar a impeza dos dados antes de inserir em uma nova base como por exemplo DWs

Exemplo de consulta SQL utiliazando a função de similaridade levenshtein

select artigo from bdbcomp where levenshtein (autor, 'agma machado traina') > 0,75

// vai buscar artigos de autores com 75% de similaridade no nome 'agma machado traina'.


Exemplo da mesma função para integração...

levenshtein ("league of ... Action","League of ... Sci-Fi") >= 0.78

// integrar aquilo cujo linar de similaridade maior que 78

É bastante usado Data WareHouses na parte de Data Cleaning, limpeza de dados, exemplo:

levenstein('ijuí - RS','ijuí - RGS')
// pra elimiar inconsistências, erros de digitação etc, vai trocar os RGS por RS se não me engano :D

Avaliaçao de uma função
- Revocação
- Precisão
- Discernabilidade

SIMILARIDADE X DISTÂNCIA

A função de similaridade tem dois parametros e retorna um valor, um escore entre 0 e 1, quanto maior for mais similar são entre si.

A função de distância tem dois parametros e retorna um valor, mas o escore vai de zero até o infinito, quanto menor o valor do escore, maior a similariedade.

Fórmula para transformar distância em similaridade:

similaridade = 1 - (valor de distância normalizado)

Ferramenta
- Similarity Metrics Testing Suite

* valores atomicos: strings
- baseadas em caracter
- baseadas em Token

* valores agregados
- uso em expressões algébricas
- uso em algoritmos

SVM - Inteligência artificial - tuplas - faz algoritmos para testar com funções de distancias partes de atributos para saber se os dados sao similares, criando vetores de valores que sao enviados para SVM fazer a comparação e dizer se os dados sao duplicados ou não.

ROTEIRO
- consultas por similaridade
- integração de dados
- data cleaning
- mineração de dados


SGBDs que implemetam funções de similaridade

POSTGRESQL
MYSQL
DB2
ORACLE


FUNÇÕES NO POSTGRESQL

- levenshtein
- soundex
- dmetaphone (fonético tbm)

APLICATIVO WEKA - FREE

www.CS.WAIKATO.AC.NZ/WEKA
Ferramenta de mineração, vários algoritmos para técnicas mais conhecidas, extensível, algoritmos podem ser usados para compor outras aplicações, é necessário

DEMOSTRAÇÃO
queens.db.toronto.edu/project/spider/demo

FERRAMENTA QUE LEVA EM CONSIDERAÇÃO SINONIMOS -> WORDNET??

Classificação

- Funções para valores atomicos

*Lenshtein
*Soundex
*Achronimous

- Função Token, quebra as strings em partes antes de comparar...

*Jaccard

Bom, minhas anotações ficaram meio desconexas porque eram muitas informações e não dava tempo de prestar atenção e anotar tudo ao mesmo tempo, mas o assunto é interessante e pode ter várias aplicações como, antes de cadastrar uma pessoa, verificar se o nome já existe através da fonética e ai por diante, o problema é que isso pode diminuir muito a performance da aplicação, mas fica a dica e é uma área que ainda existem poucas pesquisas...

Link para material do V ERBD.

Até.

TERMINA O X FÓRUM DE INFORMÁTICA DA SETREM

Olá pessoal, o X FÓRUM DE INFORMÁTICA SETREM terminou e foi um sucesso, durante as três noites do evento tivemos o auditório cheio e as palestras foram todas excelentes, deixo aqui links para os materiais diponibilizados durante todo o evento.

Primeira noite

Palestra sobre Cloud Computing com Giani Maldaner da SISNEMA - Porto Alegre, já havia postado o link e resumo aqui, mas fica o link da apresentação novamente e este link com mais material sobre o assunto.



Segunda noite

Mesa redonda sobre os 10 anos de desenvolvimento tecnológico da região noroeste do estado do Rio Grande do Sul, participaram nesta noite as empresas Ricohpel, Migrate Company, Arte.Com, WNL, Automassul e Abase Sistemas e Soluções Ltda, durante a noite as empresas apresentaram um pouco da suas histórias, o perfil dos profissionais que eram contratados no início de suas empresas, o perfil dos profissionais que buscam hoje e qual deverá ser o perfil do profissional do futuro, assim que estiver disponível o link para download das apresentações das empresas coloco aqui, por enquanto só link para as fotos.

Palestra sobre "sofrimento profissional, qual é o seu?" com a psicóloga e professora Evandir Bueno Barasuol (profa Vanda). Nesta palestra foi abordado sobre o que leva as pessoas a sofrerem durante o trabalho... link para download da apresentação.

Última noite do fórum

A melhor noite na minha opinião, tivemos uma excelente palestra sobre negócios na internet, da Web 1.0 para Web 2.0 com Luciano Teixeira - CEO - SAN Internet Corporativa, foi explicado as características e necessidades das gerações, porque alguns negócios na internet dão certo e outros não, qual é o futuro, Web 3.0? Acredito que foi a melhor palestra do X FÓRUM, vou tentar pegar o video dessa palestra e disponibilizar aqui no blog em breve, até lá, aqui está o link para download do material, é meio pesado porque tem 4 videos, mas vale a pena.



Após esta palestra, outra, também muito boa. "Do Storage ao Thin Client - Conhecimento nas nuvens ao alcance de suas mãos" com Fernando Maia, Consultor de Sistemas Advanced Systems Group Dell Brasil, nesta palestra foram esxplicados vários conceitos sobre Blade, Storages, DAS, NAS, SAN e novos produtos da Dell que devem vir a se tornar um padrão de mercado com a computação nas nuvens, download da apresentação.

Após estas últimas palestras, o X FÓRUM DA INFORMÁTICA SETREM foi encerrado com ótimo coquetel e a entrega dos certificados, no dia 14 de agosto de 2009 teremos a segunda etapa do FÓRUM com painéis profissionais com as empresas de TI da região.


Adição,Subtração e Diferença de datas no DELPHI for .NET

Olá pessoal, tive que fazer hoje uma função para diminuir 6 meses de uma data e decidi compartilhar um exemplo disso e outras funções similares que podem ser bastantes úteis.

Abaixo exemplos de procedimentos feitos no DELPHI 2007 for ASP.NET (RAD STUDIO), para executá-los você pode adicionar um button ou no próprio page load chamar estes procedimentos.


procedure Tteste.DiminuirData;
var
data: tdate;
begin
data := convert.ToDateTime(TextBox1.text);
data := data - convert.ToInt32(TextBox3.text);
// a função ToDateTime converto o de TDate para DateTime
// a função ToShortDateString vai retirar as horas, minutos e segundos e exibir no formato brasileiro (dd/MM/yyyy)
TextBox2.text := Convert.ToDateTime(data.tostring).ToShortDateString;
end;


Para somar dias em uma data basta trocar o sinal (-) por (+) :D

Agora procedimento para exibir número de dias em um intervalo de datas.


procedure Tteste.Diferenca;
var
data1, data2: tdate;
dias:integer;
begin
data1 := convert.Todatetime(TextBox1.text);
data2 := convert.Todatetime(TextBox2.text);
dias := convert.ToInt32(data1) - convert.ToInt32(data2);
TextBox3.text := dias.tostring;
end;


No Delphi podemos fazer muitas outras coisas interessantes utilizando a biblioteca DateUtils, basta adicionar na Uses, mas isso fica pra outro artigo, valeu!

Download do exemplo