Applying Semantic Web To Enterprise Application Integration By: Vipul Narain
Enterprise Application Integration – Stages of evolution Initial phase of Enterprises – manual processing of data Advent of computer – different enterprise entity automated on multiple technology platforms suiting their needs – No Enterprise Application Integration (EAI). Example: HR, Finance, Manufacturing, Production Planning, Purchase etc. had their own IT technology implementations suited for their needs. Need for information was felt across different enterprise entity. Example: Manufacturing needed to know from Production planning when on equipment planning and purchase status for items required. Initial phase of EAI – different need based integration points, unique and non standard
Enterprise Application Integration – Stages of evolution –contd. Non standard EAI resulted in following : 1. Multiple interfaces, all different 2. Maintenance Issues 3. Redundant and duplicate data stores 4. Data inconsistencies as a result of above 5. Complexities associated with multiple technologies 6. More failure points 7. No concept of re-use Last Decade of last century saw the emergence of object- oriented technologies. This did not solve the issues of EAI but promoted re-use, easy maintenance.
Enterprise Application Integration – Stages of evolution –Contd. EAI issues led to paradigm of Service-Oriented Architecture (SOA) Here are the major features of SOA: 1. Notion of Service – Service Centric 2. Service -A service is a logical grouping of operations. 3. Services could be discovered during run time 4. Services provided loose coupling among applications and were based on message based protocols 5. Services needed to be registered or published in a central repository called Service Registry 6. Services could be invoked by Service Requestor (based on agreed upon message protocol with Service provider) 7. Services could be composed from different Services 8. Services provide platform independence
Enterprise Application Integration – Stages of evolution –Contd. Here are some major components of SOA: 1. Service 2. Enterprise Service Bus 3. Service Registry 4. Service Broker 5. BPM Tools 6. Internet Gateway SOA was embraced by large Enterprises to solve the problems of EAI – Vendor products like IBM MQ were used during this phase
Enterprise Application Integration – Stages of evolution –Contd. EAI using vendor specific products tied an enterprise to vendor Open Source development, advent of internet/ intranet led to paradigm of Web Services which was based on the standards of WSDL, XML, SOAP and UDDI. Vendor offerings with these standards required other vendors to be compliant to new Web Service Standards These helped in standard EAI interfaces and seem to have solved number of earlier EAI ills. Enterprise boundary no longer was confined within an enterprise and extended to vendors, external trading partners as well (B2B) apart from application-to-application(A2A) within an organization
Enterprise Application Integration – Stages of evolution –Contd. Traditional Web Service Standards embraced for EAI suffered from following major drawbacks: 1. Syntax based, do not describe the meaning of the interface 2. Lack the ability for machine to machine interpretation without formal agreement in place 3. Assume all participating application are WSDL compliant and in case not – adapters are used. 4. Do not fully meet the criterion for lose coupling in case of synchronous transactions – a communication Channel is opened between provider and requestor. The above drawbacks led to Semantic Web Services (SWS) and Semantic SOA (SSOA)
Semantic Web – World Wide Web Consortium(W3C) Definition “The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. It is a collaborative effort led by W3C with participation from a large number of researchers and industrial partners. It is based on the Resource Description Framework (RDF)”RDF
Semantic Web – Vision of founding father “ I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize. ”
Semantic Web – Concept of Ontology Information Technology borrowed this term from philosophy. Here is the Merriam Webster Dictionary – “ 1: a branch of metaphysics concerned with the nature and relations of being 2: a particular theory about the nature of being or the kinds of things that have existence”.
Semantic Web – Concept of Ontology Contd. A formal study based on conceptualization of data (objects of interest), their relationships and other entities of interest. Putting simply, this simply means that interface is fully described in standard common data format with relationships between different pieces of data attributes, their hierarchy and meaning. The underlying framework for describing the semantics is based on WSMO standards (Web Services Modeling Ontology).
Semantic Web – Concept of Ontology Contd. Ontology: These describe formal semantics and link human and machines by providing entities understood by both. Goals: The objectives of Service Requestor are formally enunciated in goals. These are high-level descriptions of actual concrete tasks. Web services: These declare the actual Web Service capabilities. Only if service requestor and provider have same ontology a match could be established. The notion of mediator described next is to resolve these differences.
Semantic Web – Concept of Ontology Contd Mediators: These compare the two Ontology – provider and requestor and determine the similarities between the two. These are grouped as follows: 1.ggMediators: Link the provider and requestor goals 2.ooMediators: Import and resolve mismatches between ontologies 3.wgMediators: Links Web Services to goals 4.wwMediators: Links the two Web Services
Semantic Web – Concept of Triple Space Computing Based on concept of Tuple space computing used in parallel processing Language like Linda A major advantage of Tuple space computing is that it provides decoupling from three orthogonal dimensions: · Reference: Sender and receiver communication is not directly coupled Time: The Sender and receiver are not in direct synchronous communication · Space: As long as same space is shared, the two need not run in same computational environment.
Semantic Web – Concept of Triple Space Computing W3C defined Resource Description Framework (RDF) is based on the concept of shared space to address the problems with Tuple space Computing. RDF defines semantic data in the Notation 3 or N3 format. These include subject, verb and object identified with a Uniform Resource Identifier (URI). Additionally, RDF Schema defines classes, properties, domains, and hierarchy of classes. Web Ontology Language (OWL) further enhances RDF. The Triple Servers will have data published on them that could be requested, read and interpreted by machines The major advantages provided to the providers and consumers are the Time autonomy – the only restriction being the Triple being written to common space before it could be read WSMO supports Triple Space Computing
Semantic Web and EAI TSC Servers provide Transactions to be read and written on common Space This allows location Transparency – provider and consumer do not need to know each others location Allows lose coupling in communication as well as provider and consumer do not talk directly to each other. This is great benefit for EAI dealing with synchronous transactions. Allows Services to be changed during run time based on ontology matches Allows the consumer and provided need not have knowledge of each other – discovery in real sense Builds Intelligence in Machine to Machine interactions
Conclusion To conclude, the strengths provided by concepts of Semantic Web applied to Enterprise Application Integration are enormous. These relate to in building capability of machines talking to machines in Application-to-Application as well as B2B scenarios in an Enterprise. The Semantic SOA (SSOA) will help in achieving the declared objectives of SOA through Semantic Web Service by supporting all features of SOA and extending them.
Questions ????