Uma abordagem integrada a engenharia de ontologias So Paulo, 31 de maio de 2012. Fabio Franzotti Orientador: Prof. Dr. Marcelo Novaes de Rezende 1 Agenda Contexto, Motivao e Objetivo Conceitos Fundamentais e Estado da Arte Mtodo Proposto Experimento Concluso e Trabalhos Futuros 2 Contexto, Motivao e Objetivo 3 Contexto Atender complexidade na integrao entre Sistemas Trazer Agilidade Reduzir nus de TI Arquitetura Orientada a Servios (SOA) Modelo Arquitetural Objetivo um webservices Implementao predominante Mtodo Atuais Anlise e Modelagem Orientado a Servios (SOAD) 4 Contexto Complexa Improdutiva Descoberta Composio Interface Transformao Mensagem e Validao Interveno Manual webservices Padres Possvel Reduo da Interveno manual Adio de Semntica aos Servios por meio de Ontologias Para SOA`s com grande quantidade de servios 5 Motivao Problema 1. Mtodos de Anlise e Modelagem Orientados a Servios (SOAD) atuais no consideram adio de informaes semnticas a servios 2. Mtodos que consideram adio de semntica a servios no so baseados em mtodos SOAD existentes, dificultando sua adoo 6 Objetivo Desenvolver um mtodo SOAD que, na especificao da SOA, compreenda tanto a criao de informao semntica na forma de ontologias como a adio dessas informaes semnticas aos servios. Este mtodo ter como base um processo SOAD existente combinado com o mtodo METHONTOLOGY. O mtodo proposto permitir a gerao de uma SOA associada a uma ontologia. 7 Conceitos Fundamentais e Estado da Arte 8 Conceitos Fundamentais Atender complexidade na integrao entre Sistemas Trazer Agilidade Reduzir nus de TI Arquitetura Orientada a Servios (SOA) Objetivo Contrato Padronizado Baixo Acoplamento Abstrao Reutilizao Autonomia Stateless Descoberta Composio Modelo Arquitetural Computao Distribuda Funcionalidades como Servios Troca de Mensagens Caractersticas Princpios para Projeto de Servios WebServices WSDL XSD UDDI WS-* SOAP 9 Conceitos Fundamentais Web Semntica Extenso da web que permite a adio de significado (semntica) de forma que possam ser compreendidas por sistemas computacionais (BERNERS-LEE, T., HENDLER, J., O. LASSILA., 2001). Camada Semntica 10 Conceitos Fundamentais Ontologia Especificao explcita e formal de uma conceituao compartilhada. (STUDER, R.;BENJAMINS, R.;FENSEL , 1998) Alto-nvel Domnio e de Atividades Aplicao RDF (parcial) OWL Definio Tipos Linguagens (Web Semntica) Conceitos (Classes) Instncias Relacionamentos Axiomas Componentes 11 Conceitos Fundamentais Resource Description Framework (RDF) Padro W3C Representao de Metadados Recurso Valor Propriedade Sujeito Predicado Objeto http://www.usp.br Universidade de So Paulo dc:name 12 Conceitos Fundamentais Web Ontology Language (OWL) Padro W3C para representao de Ontologias Adiciona ao RDF: descrio de lgicas combinatrias (interseco, unio, cardinalidade), expresso de axiomas e restries. Semantic Annotation for WSDL (SAWSDL) Padro W3C para anotao de WSDL e XML Schemas (XSD) Independente de linguagem semntica (OWL pode ser utilizado) Utiliza extenses WSDL: sawsdl:modelReference: Associao de conceitos com elementos WSDL e XSD; sawsdl: liftingSchemaMapping e sawsdl:loweringSchemaMapping: Mapeamento e transformao entre conceitos de um modelo semntico e elementos complexos de um XML Schema. 13 Conceitos Fundamentais Engenharia de Ontologias (Ontology Engineering - OE) Atividades relacionadas com desenvolvimento de ontologias, seu ciclo de vida e as metodologias, ferramentas e linguagens utilizadas para sua criao. (GOMEZ-PEREZ, A.; CORCHO-GARCIA, O.; FERNANDEZ-LOPEZ, M., 2004, p.5) Ontology Development 101 (NOY, N. F.; MCGUINESS, D., 2011): Boas Prticas METHONTOLOGY 14 Conceitos Fundamentais Service Oriented Analysis and Design (SOAD) Erl: Foco nos Principios de Modelagem de Servios Marks & Bell: Foco em Anlise de Granularidade Papazoglou et al: Foco em BPM SOMA: Foco em Objetivos de Negcio (Business Goals) 15 Estado da Arte Semantic SOAD (SSOAD) No utilizam mtodos SOAD como base Apenas o mtodo FUSION utiliza SAWSDL (padro W3C), porm com foco em plataforma especfica (projeto FUSION) 16 Mtodo Proposto 17 Mtodo Proposto Sumrio Detalhamento dos requisitos que mtodos SSOAD devem atender Identificao dos pontos de integrao entre os mtodos SOAD e OE Descrio do mtodo proposto 18 Mtodo Proposto Requisitos mtodo SSOAD Requisitos que o mtodo SSOAD deve atender Zimmermann, Krogdahl & Gee (2004): R1 Definio formal das atividades R2 Atividades claras e objetivas para Identificao de Servio R3 Definio Papis Envolvidos R4 Possuir Ferramentas de apoio Fugita (2009): R5 Aderncia aos Principios de Modelagem de Servio R6 Alternativas para Identificao de Servios R7 Padres de Mercado Noy e Mcguiness (2011): R8 Criao e manuteno de ontologias R9 Definio do escopo da ontologia Estado da Arte: R10 Associao Informao semntica a servios R11 Considerar Semntica na Identificao de Servios 19 Mtodo Proposto Pontos de Integrao Pontos de Integrao: I1 Modelo Conceitual (METHONTOLOGY) : Produto de : Conceituao da Ontologia Insumo para : Identificao de Servios Candidatos I2 Ontologia codificada em OWL (METHONTOLOGY) Produto de : Implementao da Ontologia Insumo para: (a) Especificao de interfaces e mensagens dos servios (*) (b) Associao de informao semntica aos servios I3 Modelo de Caso de Usos de Negcio (SOMA) Produto de : Modelagem de Processos de Negcio Insumo para: Especificao da ontologia 20 Mtodo Proposto Viso Geral Inicio Modelagem do processo de Negcio Goal Service Modeling Decomposio do Domnio Anlise de Ativos Existentes Reviso e anlise de granularidade de servios Especificao da Ontologia Conceitualizao da Ontologia Validao dos Servios Especificao dos Servios Anlise de Sub- Sistemas Especificao de Componentes Realizao dos Servios Integrao da Ontologia Implementao da Ontologia Associao de Informaes semnticas aos Servios Origem SOMA Origem METHONTOLOGY` Nova Atividade Fim Ponto de Integrao I3 I1 I2a I2b Identificao de Servios Especificao 21 Mtodo Proposto Especificao dos Servios Modelagem de possveis orquestraes Identificao e modelagem de participantes Detalhamento das interfaces de servio Especificao das mensagens e interfaces Anotao semntica dos servios Reviso e especificao de servios compostos Novo Servio identificado? Inicio Fim No Sim 22 Experimento 23 Experimento Sumrio Contexto: Apresentao do contexto considerado para a execuo do experimento Execuo: Descrio da execuo do experimento e das principais decises de projeto consideradas Avaliao dos resultados obtidos: Anlise da cobertura dos requisitos que um mtodo SSOAD deve atender Exemplo de utilizao da SSOAD resultante 24 Experimento - Contexto Baseado em uma empresa de Telecomunicaes que possua uma SOA com grande quantidade de servios Informaes de produtos e clientes distribudos em sistemas legados, com replicao batch Vrios servios existentes no fazem enriquecimento (dados esto replicados entre os sistemas). Sistema CRM legado no atende a demanda atual da empresa Cenrio Atual Objetivo de negcio Aumento de acessos ps pagos Penetrao no mercado de banda Larga Aes Substituio dos sistemas de Vendas e CRM legados por um novo sistema CRM Implementao de um sistema de MDM (Master Data Management), unificando informaes de clientes e produtos em um ponto nico Adequao de legados e servios existentes e criao de novos servios 25 Experimento - Contexto Baseado em uma empresa de Telecomunicaes que possua uma SOA com grande quantidade de servios Informaes de produtos e clientes distribudos em sistemas legados, com replicao batch Vrios servios existentes no fazem enriquecimento (dados esto replicados entre os sistemas). Sistema CRM legado no atende a demanda atual da empresa Cenrio Atual Objetivo de negcio Aumento de acessos ps pagos Penetrao no mercado de banda Larga Aes Substituio dos sistemas de Vendas e CRM legados por um novo sistema CRM Implementao de um sistema de MDM (Master Data Management), unificando informaes de clientes e produtos em um ponto nico Adequao de legados e servios existentes e criao de novos servios A adio de semntica aos servios e a utilizao de um agente para composio (enriquecimento) pode diminuir a necessidade de interveno manual para composio de servios (entre outros beneficios) 26 Experimento Execuo Viso Geral Inicio Modelagem do processo de Negcio Goal Service Modeling Decomposio do Domnio Anlise de Ativos Existentes Reviso e anlise de granularidade de servios Especificao da Ontologia Conceitualizao da Ontologia Validao dos Servios Especificao dos Servios Anlise de Sub- Sistemas Especificao de Componentes Realizao dos Servios Integrao da Ontologia Implementao da Ontologia Associao de Informaes semnticas aos Servios Origem SOMA Origem METHONTOLOGY` Nova Atividade Fim Ponto de Integrao I3 I1 I2a I2b Identificao de Servios Especificao Atividade No Executada 1 4 5 6 7 8 9 10 11 2 3 Ordem de Execuo Anlise de Sub- Sistemas Especificao de Componentes Realizao dos Servios Anlise de Sub- Sistemas Especificao de Componentes 27 Experimento Execuo Especificao e Conceitualizao da Ontologia e Identificao de Servios Inicio Modelagem do processo de Negcio Goal Service Modeling Decomposio do Domnio Anlise de Ativos Existentes Reviso e anlise de granularidade de servios Especificao da Ontologia Conceitualizao da Ontologia Validao dos Servios Especificao dos Servios Anlise de Sub- Sistemas Especificao de Componentes Realizao dos Servios Integrao da Ontologia Implementao da Ontologia Associao de Informaes semnticas aos Servios Origem SOMA Origem METHONTOLOGY` Nova Atividade Fim Ponto de Integrao I3 I1 I2a I2b Identificao de Servios Especificao Atividade No Executada 1 4 5 6 7 8 9 10 11 2 3 Ordem de Execuo Anlise de Sub- Sistemas Especificao de Componentes Realizao dos Servios Anlise de Sub- Sistemas Especificao de Componentes 28 Experimento Execuo: Modelagem de Processo de Negcio (Atividade 1) Utilizao de 12 Casos de Uso de negcio extrados e adaptados a partir de projeto real realizado em empresa de Telecomunicaes 29 Experimento Execuo: Especificao da Ontologia (Atividade 2) Especificao da Ontologia Definio do Escopo: Processo de venda de linhas mveis ps-pagas em loja fsica Composio de servios com enriquecimento de mensagens Termos em ingls (Padronizao) Definio das Questes de competncia (Validao) 30 Experimento Execuo: Conceitualizao da Ontologia (Atividade 3) Principal atividade para criao da ontologia Alm dos artefatos previstos, foi gerado o diagrama de relacionamento entre conceitos Verbos relacionados a operaes foram especificados como instncias do conceito Operao, classificada como Complexa (causam Efeito) ou Simples 31 Experimento Execuo Identificao de Servios (Atividades 4,5,6,7) Goal Service Modeling (Ativ. 4): Objetivo principal considerado: Aumento de Acessos Ps Pagos Decomposio Modelo de Domnio (Ativ. 5): Modelo eTOM (TMForum): subsistemas Modelo Conceitual: servios de entidades Analise de ativos existentes (Ativ. 6) Considerado servio de sistema legado de Faturamento (Billing) Reviso (Ativ. 7) Reutilizao do um servio de faturamento (Billing Account) para implementao do servio de (Billing Profile) Identificados 6 servios candidatos 16 operaes candidatas 32 Experimento Execuo Especificao de Servios e Integrao e Implementao da Ontologia Inicio Modelagem do processo de Negcio Goal Service Modeling Decomposio do Domnio Anlise de Ativos Existentes Reviso e anlise de granularidade de servios Especificao da Ontologia Conceitualizao da Ontologia Validao dos Servios Especificao dos Servios Anlise de Sub- Sistemas Especificao de Componentes Realizao dos Servios Integrao da Ontologia Implementao da Ontologia Associao de Informaes semnticas aos Servios Origem SOMA Origem METHONTOLOGY` Nova Atividade Fim Ponto de Integrao I3 I1 I2a I2b Identificao de Servios Especificao Atividade No Executada 1 4 5 6 7 8 9 10 11 2 3 Ordem de Execuo Anlise de Sub- Sistemas Especificao de Componentes Realizao dos Servios Anlise de Sub- Sistemas Especificao de Componentes 33 Experimento Execuo Integrao (Ativ. 8) , Implementao e Avaliao da Ontologia (Ativ. 9) Busca utilizando ferramenta Swoogle e Google (ontologias OWL) Importao facilitada utilizando ferramenta Protg Integrao da Ontologia (8) Implementao e Verificao: Protege v4.1 Validao: necessrio utilizar verses 4.1 (Manchester OWL) e 3.48 (SPARQL - Propriedades) Implementao e Avaliao da Ontologia (9) 34 Experimento Execuo Especificao dos Servios (Ativ. 10) e Anotao Semntica (Ativ. 11) Ferramentas Utilizadas: Enterprise Architect: diagramas e exportao para XSD XML Spy: especificao de WebServices e exportao WSDL Anotao Semntica feita manualmente, sem apoio de ferramentas (ferramenta Radiant no se mostrou vivel para esta aplicao) Novo servio Identificado: "Query Customer Id 35 Experimento: Avaliao dos resultados 36 Experimento Avaliao dos Resultados A partir dos requisitos que o mtodo SSOAD deve atender Zimmermann, Krogdahl & Gee (2004): R1 Definio formal das atividades (ATENDE) R2 Atividades claras e objetivas para Identificao de Servio (ATENDE) R3 Definio Papis Envolvidos (AVALIADO PARCIALMENTE) R4 Possuir Ferramentas de apoio (ATENDE PARCIALMENTE) Fugita (2009): R5 Aderncia aos Principios de Modelagem de Servio (ATENDE) R6 Alternativas para Identificao de Servios (ATENDE) R7 Padres de Mercado (ATENDE) Noy e Mcguiness (2011): R8 Criao e manuteno de ontologias (ATENDE) R9 Definio do escopo da ontologia (ATENDE) Estado da Arte: R10 Associao Informao semntica a servios (ATENDE) R11 Considerar Semntica na Identificao de Servios (ATENDE) 37 Experimento Avaliao dos Resultados Exemplo de Utilizao da SSOA resultante dueDay Perfil de Faturamento Criado address-street street-number zip-code county city state country Billing Address (Atributos) Criar Perfil de Faturamento (Operao Almejado) customer- identification- number 38 Experimento Avaliao dos Resultados Exemplo de Utilizao da SSOA resultante owl:NamedIndividual contact-name Create Billing Account customer- identification- number dueDay Perfil de Faturamento Criado due-day CreateBillingProfile gender address-street street-number zip-code county city state country street street-number zip district city state country Billing Address (Atributos) CreateBillingProfile 39 Experimento Avaliao dos Resultados Exemplo de Utilizao da SSOA resultante owl:datatypeProperty owl:NamedIndividual Create Billing Account customer- identification- number dueDay Perfil de Faturamento Criado contact-name due-day customer-name onto:customer-identification-number CreateBillingProfile gender customer-gender address-street street-number zip-code county city state country street street-number zip district city state country has_StreetAddress has_City has_Country has_County has_State has_StreetNumber has_ZipCode due-day Billing Address (Atributos) ? ? 40 Experimento Avaliao dos Resultados Exemplo de Utilizao de semntica na SSOA resultante owl:datatypeProperty owl:NamedIndividual Novo Servio contact-name Create Billing Account customer- identification- number dueDay Perfil de Faturamento Criado due-day customer-name onto:customer-identification-number QueryCustomer CreateBillingProfile gender customer-gender address-street street-number zip-code county city state country street street-number zip district city state country has_StreetAddress has_City has_Country has_County has_State has_StreetNumber has_ZipCode due-day Billing Address (Atributos) Query Customer 41 Concluses e Sugestes para Trabalhos Futuros 42 Concluses Gerao de uma SOA associada a uma ontologia (SSOA) A partir do exemplo apresentado, a ontologia gerada associada aos servios possibilita a composio automtica de servios para o contexto apresentado no experimento (enriquecimento de mensagens) Contribuies adicionais Estudo comparativo sobre mtodos SSOAD - definio de critrios para comparao. Identificao, a partir da literatura, de requisitos que um mtodo SSOAD deve atender. 43 Concluses (cont.) Benefcios da Abordagem: Adoo facilitada em organizaes que j utilizam mtodos SOAD: Pontos de integrao entre mtodos existentes, sem grandes customizaes em tais mtodos: Utilizao inicial do mtodo (fases de Anlise e Desing) sem necessidade de novos componentes (reasoners): Utilizao de padres SAWSDL e OWL Reaproveitamento de conhecimento existente Permite adoo Gradual Reaproveitamento de recursos (WSDL) existentes 44 Concluses (cont.) Benefcios da Abordagem (cont.): Utilizao do Modelo Conceitual para atividades originadas de SOMA e Methontology facilita associao de informao semntica a servios: Diminui necessidade de transformao de dados Facilita automatizao da anotao semntica Cellphone string string string OWL IMEI brand model WSDL <xs:complexType name="Cellphone"> <xs:sequence> <xs:element name="brand" type="xs:string" sawsdl:modelReference="http://www.ipt.br/ontologies/2012/7/TelecomOrd erOntologyV01.owl#brand"/> <xs:element name="IMEI" type="xs:string" sawsdl:modelReference="http://www.ipt.br/ontologies/2012/7/TelecomOrd erOntologyV01.owl#IMEI"/> <xs:element name="model" type="xs:string" sawsdl:modelReference="http://www.ipt.br/ontologies/2012/7/TelecomOrd erOntologyV01.owl#model"/> </xs:sequence> </xs:complexType> 45 Limitaes da abordagem e Sugestes para trabalhos futuros 46 Limitaes da abordagem e Sugestes para trabalhos Futuros 1) Atividade de anotao semntica Limitaes da Proposta Ferramenta existente (Radiant) no utilizada (complexa e instvel) Atividade de anotao manual trabalhosa Para que o mtodo seja efetivo, imprescindvel a utilizao de ferramentas de apoio para a atividade de anotao semntica dos servios. Sugesto para trabalhos futuro relacionados: Ferramenta de apoio para a anotao semntica Mecanismos para anotao semntica automatizada 47 Sugestes para trabalhos Futuros (cont.) 2) Atividade de Especificao de Servios Limitaes da Proposta O mtodo no possui pontos de integrao especficos para o enriquecimento da ontologia durante a execuo das atividades de especificao de servios. Sugesto para trabalho futuro relacionado: Melhor detalhamento desta integrao no mtodo proposto 48 3) Identificao e composio de Servios Limitaes da Proposta O experimento executado no utilizou reasoners para a realizao de identificao e composio automtica de servios. Sugesto para trabalho futuro relacionado: Aplicao do mtodo em uma arquitetura utilizando reasoners na identificao e composio de servios Sugestes para trabalhos Futuros (cont.) 49 4) Avaliao do Mtodo Limitaes da Proposta Para a execuo do experimento considerou-se apenas uma forma de composio automtica de servios, referente ao enriquecimento de mensagens. Validao do mtodo por meio da execuo de um experimento, considerando uma SOA fictcia Sugestes para trabalhos futuros relacionados: Aplicao do mtodo utilizando outras formas de composio automtica (por exemplo, composies que levam em conta pr- condies, objetivos e ps-condies) Realizar a sua validao em um ambiente real, por meio de um estudo de caso Sugestes para trabalhos Futuros (cont.) 50 Fim Contatos: fabiofrz@gmail.com fabio.franzotti@nttdata.com 51 BACKUP 55 Exemplos SAWSDL <wsdl:operation name="order" sawsdl:modelReference=http://www.w3.org/2002/ws/sawsdl/spec/ontology/rosetta#RequestPurchaseOrder"> <wsdl:input element="OrderRequest"/> <wsdl:output element="OrderResponse"/> </wsdl:operation> <wsdl:operation name="order"> <wsdl:input element="OrderRequest"/> <wsdl:output element="OrderResponse"/> </wsdl:operation> PIP RequestPurchaseOrder OWL isA Associao Semntica CancelOrder WSDL isA Anotao: Anotao da tag Operation: 56 Exemplos SAWSDL Anotao low-level de tipos complexos: <complexType name="POItem" > <all> <element name="dueDate" nillable="true" type="dateTime" sawsdl:modelReference= http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#DueDate/> <element name="qty" type="float" sawsdl:modelReference= http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#Quantity/> <element name="EANCode" nillable="true" type="string" sawsdl:modelReference= http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#ItemCode/> <element name="itemDesc" nillable="true" type="string" sawsdl:modelReference= http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#ItemDesc /> </all> </complexType> Item dueDate ItemDesc Quantity OWL hasIemDesc hasDueDate hasQuantity WSDL Nesse exemplo a anotao feita diretamente entre os conceitos da Ontologia e os elementos internos do tipo complexo`. 57 Exemplos SAWSDL Anotao top-level de tipos complexos: Nesse exemplo a anotao feita no tipo complexo. Necessrio a utilizao das tags sawsdl:liftingSchemaMapping e sawsdl:loweringSchemaMapping para a traduo entre os conceitos da ontologia e os elementos do tipocomplexo. Pode ser utilizado qualquerl inguagem para transformao de XML, como o XLST. <complexType name="POAddress sawsdl:modelReference= "http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#Addresd" sawsdl:liftingSchemaMapping= http://www.w3.org/2002/ws/sawsdl/spec/mapping/POAdress2Ont.xslt sawsdl:loweringSchemaMapping= "http://www.w3.org/2002/ws/sawsdl/spec/mapping/Ont2POAddress.xslt> <all> <element name="streetAddress" type="string" /> <element name="poBox" type="string" /> <element name="city" type="string" /> <element name="zipCode" type="string" /> <element name="state" type="string" /> <element name="country" type="string" /> <element name="recipientInstName" type="string" /> </all> </complexType> Address xsd:string xsd:string xsd:string OWL has_City has_StreetAddress has_Zip WSDL