Bringing Data Integration And Soa TogetherPresentation Transcript
Bringing Data Integration and SOA together - David S. Linthicum
Goals and Characteristics of a SOA
Improved Adaptability and Agility
Respond to business needs in near real-time
Eliminate the need for large scale rip and replace
Independent Change Management
Focus on configuration rather than programming
Interoperability instead of point-to-point integration
Loosely-coupled framework, services in network
Orchestrate rather than integrate
Configuration rather than development to deliver business needs
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
The Basics Data Abstraction Data Data Data Services
Data Abstraction Data Data Data
Data Abstraction Data Data Data Data Services
Critical Step: Understand semantics and data services in your domain.
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.
Once that is done, defining the data services layer is also a critical step .
Selection of technology
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)
Defining Data Services
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.
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.
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.
XQuery-enabled software/middleware critical component here .
SOA and Data Services, In Practice
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.
They manage interaction at the data management layer and representation at the data services layer of data, semantics, and behavior.
In essence, they ensure proper communications using the necessary interfaces and protocols.
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.
Service Data Objects is a technology that allows heterogeneous data to be accessed in a uniform way.
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.
XQuery uses XPath expression syntax to address specific parts of an XML document.
The language also provides syntax allowing new XML documents to be constructed.
XQuery is based on a tree-structured model of the information content of an XML document, containing seven kinds of node:
document nodes, elements, attributes, text nodes, comments, processing instructions, and namespaces.
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.
XQuery is a programming language that can express arbitrary XML to XML data transformations with the following features:
Logical/physical data independence
Strongly typed language
Data Services…a Necessity for SOA
Information is a part of any SOA, and the use of data services technology makes managing both data and metadata possible .
Without using data services technology, your data layer becomes the largest limitation to agility.
Using a data services layer means that most changes to physical databases won’t necessarily bother your existing processes and services .
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.
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.