Bringing Data Integration And Soa Together


Published on

Published in: Business, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Bringing Data Integration And Soa Together

    1. 1. Bringing Data Integration and SOA together - David S. Linthicum
    2. 2. Goals and Characteristics of a SOA <ul><li>Improved Adaptability and Agility </li></ul><ul><ul><li>Respond to business needs in near real-time </li></ul></ul><ul><li>Functional Reusability </li></ul><ul><ul><li>Eliminate the need for large scale rip and replace </li></ul></ul><ul><li>Independent Change Management </li></ul><ul><ul><li>Focus on configuration rather than programming </li></ul></ul><ul><li>Interoperability instead of point-to-point integration </li></ul><ul><ul><li>Loosely-coupled framework, services in network </li></ul></ul><ul><li>Orchestrate rather than integrate </li></ul><ul><ul><li>Configuration rather than development to deliver business needs </li></ul></ul>
    3. 3. SOA Meta Model Data Abstraction Data Data Data Services Legacy Legacy Services Process/Orchestration Monitoring/Event Management Governance Rep Security Internet-Based Services New Services
    4. 4. The Basics Data Abstraction Data Data Data Services
    5. 5. Data Abstraction Data Data Data
    6. 6. Data Abstraction Data Data Data Data Services
    7. 7. Critical Step: Understand semantics and data services in your domain. <ul><li>It is extremely important for you to identify all application semantics that exist in your domain, thus allowing you to properly deal with that data. </li></ul><ul><li>Once that is done, defining the data services layer is also a critical step . </li></ul><ul><ul><li>Data abstraction </li></ul></ul><ul><ul><li>Metadata mapping </li></ul></ul><ul><ul><li>Selection of technology </li></ul></ul>
    8. 8. Defining Data Services Understand all application semantics in your domain. SOA Metadata Meta data analysis Data abstraction layer definition Data Abstraction Layer Data services definition Data Services Legacy Metadata External Metadata (B2B)
    9. 9. Defining Data Services <ul><li>Data service technology places a layer of software (middleware) between the physical distributed databases and the applications or services that will be accessing the data. </li></ul><ul><ul><li>The data services layer connects to the back-end databases using available interfaces and maps the physical databases to a virtual database model that exists only in the software, but for all practical purposes, is a functioning database. </li></ul></ul><ul><ul><li>The application or services leverage this virtual database (data services) to access the required information, and the data services software handles the collection and distribution of the data as needed to the physical instances of the data. </li></ul></ul><ul><ul><li>XQuery-enabled software/middleware critical component here . </li></ul></ul>
    10. 10. SOA and Data Services, In Practice <ul><li>When focusing on the data management and data services layers, it’s easy to see that these components take on the role of dealing with all existing IT assets. </li></ul><ul><ul><li>They manage interaction at the data management layer and representation at the data services layer of data, semantics, and behavior. </li></ul></ul><ul><ul><li>In essence, they ensure proper communications using the necessary interfaces and protocols. </li></ul></ul><ul><ul><li>They manage data moving in and out of the source or target systems and databases , and also provide advanced capabilities such as virtual database representations from existing physical instances and distributed query capabilities. </li></ul></ul>
    11. 11. SDO <ul><li>Service Data Objects is a technology that allows heterogeneous data to be accessed in a uniform way. </li></ul>Source: IBM
    12. 12. XQuery <ul><li>XQuery provides a mechanism to extract and manipulate data from XML documents or any data source that can be viewed as XML, such as relational databases or office documents. </li></ul><ul><li>XQuery uses XPath expression syntax to address specific parts of an XML document. </li></ul><ul><li>The language also provides syntax allowing new XML documents to be constructed. </li></ul><ul><li>XQuery is based on a tree-structured model of the information content of an XML document, containing seven kinds of node: </li></ul><ul><ul><li>document nodes, elements, attributes, text nodes, comments, processing instructions, and namespaces. </li></ul></ul>
    13. 13. XQuery <ul><li>XQuery 1.0 does not include features for updating XML documents or databases, as is done by XUpdate . It also lacks full text search capability. These features are both under active development for a subsequent version of the language. </li></ul><ul><li>XQuery is a programming language that can express arbitrary XML to XML data transformations with the following features: </li></ul><ul><ul><li>Logical/physical data independence </li></ul></ul><ul><ul><li>Declarative </li></ul></ul><ul><ul><li>High level </li></ul></ul><ul><ul><li>Side-effect free </li></ul></ul><ul><ul><li>Strongly typed language </li></ul></ul>
    14. 14. Data Services…a Necessity for SOA <ul><li>Information is a part of any SOA, and the use of data services technology makes managing both data and metadata possible . </li></ul><ul><li>Without using data services technology, your data layer becomes the largest limitation to agility. </li></ul><ul><li>Using a data services layer means that most changes to physical databases won’t necessarily bother your existing processes and services . </li></ul><ul><li>Most physical data layers are lacking logical order for use within a SOA, and data services layers allow you to re-represent data and metadata for the particular requirements of the SOA without having to change the back-end databases and applications. </li></ul><ul><li>Data services are a key component for SOAs , and if not designed and implemented, your SOA won’t provide the value of agility, and thus won’t provide the ROI. </li></ul>