ServiceTechMag.com > Archive > Issue XLI: July 2010 > Semantic Technologies in Integration and SOA
Vasudevan Ramanujam

Vasudevan Ramanujam

Biography

Vasudevan Ramanujam is a Principal Consultant, as a part of Advanced Technology Labs (ATL) - Talent Transformation, Learning organization of Wipro. He has 18+ years of experience equally divided in working as Mainframe Architect and EAI architect. As an EAI architect he was a part of architecting end-to-end integration solutions in A2A, SOA and Legacy Modernization. He led the EAI architect team for 3 years around these solutions. He also published a SOA approach for Service Delivery for Service Integration organizations, in Integration Consortium and presented in the webMethods conference on SOA Assurance and Testing.

As a part of the ATL team, he has been evangelizing technology topics/solutions like Semantics and Complex Event processing within Wipro. He has created positioning papers internally for semantic solutions in an enterprise architecture framework. Currently a position paper on applicability of Semantics in integration has been presented to ICDEM conference in India.

Contributions

rss  subscribe to this author

Bookmarks



Semantic Technologies in Integration and SOA

Published: July 11, 2010 • SOA Magazine Issue XLI
 

Abstract - This article provides an insight into the application of semantics and its fitment in the existing enterprise architecture, especially SOA, and integration. Two sample use cases have been considered – in SOA and cloud to demonstrate its relevance.


Introduction

In the recent times of economic instability and recession, one of the core requirements of many enterprises has been to get business agility with cost efficiency. Agility of business systems depended on how modular and well organized the systems are and how “SMART” they are. Smartness of the systems arises from being self aware of their functionality and data, which helps them to take decisions with minimal human intervention at runtime. One core requirement is the ability to understand data (of any kind, not necessarily only business data) and its relationship, in a flexible/dynamic manner. The science and technology of Semantics will enable systems to address this requirement.

Semantics and the underlining science of ontology have existed for a quite a few years now and have been studied widely in research areas. Though ontologies in various fields like biomedical sciences have been explored in depth, their application to industry has been slow due to the evolution of standards and adoption by vendors and the willingness of the industry/enterprises to understand its relevance and adopt it.

However with the release of standards by W3C, extension with the WS standards and a range of vendors releasing products to handle data semantics, integration and web, semantics has come to age for adoption. The base architecture and the core RDF/RDFS, OWL, Annotation and SPARQL specifications have been released and adopted by vendors which has further led to enablement of semantic solutions. A host of vendors have also come up with semantic applications over the basic semantic infrastructure which further quickens the process of application build and deployment for semantic functionality.

This article briefly indicates the usage and impact of semantics especially in Integration and SOA solutions.


Where will Semantics find usage?

Semantics being explicit statement of data relationships has impact on different applications. Any application where the system requires understanding of context and meaning of data and where these are bound to change or numerous relationships exist will require semantics to handle it. Creating such complex data relationships using conventional relational methods may not provide a flexible dynamic approach to contextualizing data. This is where semantics helps by providing a flexible framework to add/modify context to data (explicitly) and enable systems to understand the data meaning.

Semantics will find relevance in a host of Technology/Horizontal applications as follows:

  • Data Integration, at the XML, RDBMS, and Object software tiers
  • Data Warehousing and Business Intelligence
  • Service-Oriented Architecture (SOA) Data Services, Service Search and automatic Policy identification and verification
  • IT Maintenance (Monitoring and Governance)and IT Infrastructure Management (Provisioning and automated Resource Allocation)
  • Portal Applications and Data Mashups
  • Data Replication, Migration and Transformation
  • Decision making applications and tracking/tracing patterns and trends
  • Compliance Reporting on information from multiple systems
  • Intelligent HELP applications
  • SEARCH applications
  • Crowd sourcing

Semantic Architecture

Semantic functionality may be pervasive in all layers of Enterprise Architecture as the above applications indicate. An architecture framework and the layer in which it will be used have been provided by w3c and analysts like Gartner. Leading analysts view this as a part of the metadata layer which adds more value and meaning to data before it gets into the various transaction layers.

However it should be understood that the definitions, descriptions and relations are defined in this layer. The operational usage could be in any of the other layers around the metadata layer.

In Enterprise architecture, Semantics will touch multiple layers like presentation, integration, data and applications, albeit in different contexts.

  • Semantics will provide better user experience (as recommendations, better personalization) at the Presentation layer
  • Integration layer will have better intelligence to handle transformations, rules, data discovery and access, process mapping/access (with lesser coding)
  • Data layer will be enabled for better understanding of data relationships and context and perform mining and analytics better. Centralized or Distributed data relationship maps will also enable better data-process mapping and analysis
  • Security layer for self aware and self analysis of authorization and access
  • Meta Data (Registries and repositories) relationships on data about systems, applications and services
  • Application layers can use semantics for application definition, relationships, business process flows/relationship, business rule association and application meta data

Semantics in Integration

Integration is one of the key layers where semantics can be useful due to the transactional nature of data processing and routing through this layer. Semantics has been adopted in the middleware Repository layer, though at a smaller scale earlier by middleware vendors, until, webMethods acquired Cerebra and integrated it within the webMethods version (7.0) that was released. Similar integrations have happened in TIBCO and IBM suite of products emphasizing the importance of intelligent or SMART data.

Typical middleware applications that can incorporate semantics include:

  1. Intelligent Transformation and routing – Transformation based on context
  2. Dynamic Business Rule Identification and Execution
  3. Flexible and self-aware/healing Service/Meta-data Definition, Discovery and Usage
  4. Dynamic and modifiable networks for B2B applications
  5. Mobile semantics
  6. Intelligent GPS applications

Usage of semantics in this layer will provide the following benefits

  1. A single point of reference for data and data relationships/interoperability (not the data itself)
  2. Better management of Meta data
  3. Building an intelligent/flexible transaction layer between the front and back ends will enable better efficiency without impacting the flow of business processes
  4. In specific scenarios, this will also reduce processing required at the UI applications or enterprise applications as a better decision making middleware is present
  5. Semantics will also enable to create generic frameworks/patterns of relationships for integration functions so that integration functionality/components itself could become configurable and available easily; this also supplements the service architecture
  6. It will also help font line or customer facing personnel to make smart and quick decisions

Semantic Integration - Reference Architecture

Semantics does not alter the core layers of integration; however compliments it with specific functionalities and technologies. The high level differences in the standard and semantic integration architecture will be as follows:

  1. Semantic architecture will involve the concept of Schemaless databases along with existing databases; hence semantic data will be stored as maps/trees in semantic databases
  2. Meta data categories and types will be defined in central/distributed registries or repositories and should be linked to the transactional or application specific data
  3. Data will be checked at the input to understand context (for type of transformation, routing rules, message semantics, data validation, partner format transformations, context addition/modification, relationship query/addition/modification and data retrieval/update)
  4. Existing data will be converted to the required semantic format through the RDF application that will act as an interface
  5. System data could be maintained in semantic format (RDF & OWL) or a mixture of existing and semantic format, based on the requirements

View Larger Image

Figure 1 - A representation of the Semantic integration architecture is shown above

Semantics and SOA solutions

Service-Oriented solutions provide the required system modularity and access to subscribers/users of the service, by providing the relevant business function. An ideal way to arrive at the business functions is by domain modeling and domain decomposition to arrive at modular business functions that can be offered as services.

Semantics could provide value add at two levels of Service-Oriented Architecture:

  • Service Creation - Semantics is one of the efficient ways that can aid in this domain modeling and decompositions so as to define the relationships and context of the service entities in a better way
  • Service Definition and Discovery - As discussed, one of the key aspects of SOA solution is the efficient modularization of services and making the same available for use. Hence the description and relationship of these services become critical, for users to discover the right service to be used. This intelligent discovery of services and its relationships is one critical use case where semantics is useful
  • Service Orchestration - Discovering Service relationships (and changes in them) dynamically and orchestrating a business logic or process will be another useful functionality
  • Service Management and Governance - Effective Service management and Governance is a key success factor for SOA implementations. Automated and dynamic configuration and monitoring using defined and inferred service relationships will value add to service transactions and provide better customer or application experience

Figure 2 - The semantic aspect is depicted in some of the SOA aspects above

Semantic description of Services could include:

  • Knowledge Interface description
  • Interface relationship description
  • Data/parameter transfer description
  • Transformation description
  • Annotation for existing data

  • An administrator/user initially creates the description of the services which will be converted into triples and stored in the repository. Relationships for these services are also created
  • Administrator adds the Context/key words/description/Meaning
  • System discovers the service based on the initial set up and context
  • System will also be able to discover the service relationships
  • System can infer the context and relationships
  • System will be able to add context based on the service usage pattern to contextualize the services
  • A User will be able to discover and use services-the back end inference, if required, will be done by the system

Sample information model that will provide an ontology for Semantic Integration (assuming integration as a service) in a service-oriented context is shown below in Fig 3. This ontology has a been derived based on the perspective of service and its decomposition and considering integration as a service. This perspective provides a map of a sample Integration functionality that can be used by middleware logic to automatically decide on the processing based on data.

The service map was built based on the types of Service and focusssing on the technology service, which is semantic integration. This has been further classified based on the various integration fucntions. A sample scenario for the data name resolution has been considered and the query created to show how the system will infer and reolve a particular data name. Here the "Data_Name_Resolution" function will resolve the various context of the usage of the data name "client".

Definition of such a relationship map in a registry/repository in a service landscape, will allow automatic discovery and update of service facets to the system.


View Larger Image

Figure 3 - Application of semantics in SOA could have a major primary application in cloud where a semantic based approach will enable better automation of discovery, invocation, usage and management of cloud services through inference

Semantic Evolution in SOA

SOA not only brings the need to modularize, reuse and provision services but also accurately and intelligently define and infer the descriptions, attributes, parameters and relationships associated with data. User, Middleware and backend applications need the ability to infer about (&context of) data based on a service request and process accordingly. Service provisioning on the Service infrastructure will also require the ability to understand the requirements and provide the necessary capacity. The infrastructure needs to arrive at this automatically based on data and infrastructure relationships. This could also form a basis for provisioning for a dynamic delivery model like cloud.

Semantics brings in this ability to build the relationships dynamically and infer where required. Ontology (or Ontologies) built for SOA Core and extended functionality will assist in provisioning of services better.

Evolution and extension of standards, technology and tools has enabled this to happen seamlessly with the existing technology infrastructure. The promise and popularity of Web services and the standards associated has led to define and adopt such standards in the commercial realm. Standards like WSDL, BPEL, UDDI and the like are well established. With emerging needs and technology to satisfy these needs, there is a requirement to make a standards framework that is encompassing and expressive. Such a framework can provide more detailed specifications of service and its relationships across the Web service lifecycle. This framework combined with the right set of tools/technologies provides the following benefits:

  • More automation of service discovery and invocation through inference
  • Automated translation of message content between heterogeneous interoperating services
  • Better automation approaches to service composition and choreography
  • Automated and inferred service monitoring and system/application recovery
  • Better provisioning for services
  • More streamlined and automated process execution

Standards

W3C and other stakeholders are jointly developing this framework to enable better implementation and use of services. To this end, Web services specifications are extended (SWSL and SWSO; OWL-S; WSMO; FLOWS) to add richer semantic context for SOA.

  • The Semantic Web Services Language (SWSL) is used to specify formal characterizations of Web services concepts and descriptions of individual services. It includes two sublanguages. SWSL-FOL is based on first-order logic (FOL) and is used primarily to express the formal characterization (ontology) of Web services concepts. SWSL-Rules are based on the logic-programming (or "rules") paradigm and are used to support the use of the service ontology in reasoning and execution environments based on that paradigm. SWSL is a general-purpose language (that is, its features are not service-specific), but it has been designed to address the needs of Semantic Web Services (source – W3C overview at http://www.w3.org/Submission/SWSF/)
  • The Semantic Web Service Ontology (SWSO) presents a conceptual model by which Web services can be described, and an axiomatization, or formal characterization, of that model. The complete axiomatization is given in first-order logic, using SWSL-FOL, with a model-theoretic semantics that specifies the precise meaning of the concepts. This is called FOL form of the ontology FLOWS -- First-Order Logic Ontology for Web Services. In addition, the axioms from FLOWS have been systematically translated into the SWSL-Rules language (with an unavoidable weakening of some axioms). The resulting ontology, which relies on logic-programming semantics, is called ROWS -- Rules Ontology for Web Services (source – W3C overview at http://www.w3.org/Submission/SWSF/)

The current/ongoing work on in W3C on several of these standards like Rules Interchange Format (RIF), RDB2RDF mapping, RDFa (annotations for existing pages), SPARQL and industry specific Interest group like the one for Healthcare and Life sciences indicates the seriousness of industry in looking at Semantics as a business proposition.


Tools/Technologies

Semantic solutions have been adopted by niche vendors (like TopQuadrant, Cambridge Semantics, Expert Systems) and major vendors (like TIBCO, Software AG, IBM, Oracle) who see the solution as a major value add to the existing enterprise stack. The strength of the solutions these tool vendors bring is the ability to provide solutions over these technologies and the multitude of customer implementations that have been done already.


Conclusion

Semantics will provide an underlying fabric of reasoning and intelligence for data and subsequently the processing of such data. It provides a framework for moving away from static and fixed to relationships to dynamic ones-more so at the middleware layer which is one of the important layers for transaction/data processing. The adoption of semantics at the middleware layer is bound to go up (at least in few of critical integration functionality), with the incorporation of semantics in this layer by middleware vendors and attention of analysts to this concept; more so, considering the fact that the most hyped delivery model, Cloud services, requires certain inbuilt intelligence, which could be provided by the emerging semantic technologies and standards.