Enterprise Data Services for Strategic SOA - Presentation Transcript
Enterprise Data Services
for
Strategic SOA
Sumedha Rubasinghe
~ sumedha@wso2.com ~
http://sumedha.blogspot.com
The growth of SOA (Web Services)
• SOA hype
– promises of dynamic discovery
– Human readable messaging
– Simple XML data objects
• SOA approach - finally solving problems
• Application assembly using
– Loosely coupled components
– Well defined interfaces
– Growing demand for mashed up applications
• Interoperability
Enterprise data
• Processed & stored since beginning of
computing era
• Heterogeneous stores
• Generated by application silos
• Disconnected
Concerns
• Each approach demands different way of
access
• Developer time spent on data access
Real world scenarios
• Application A
– Data from one legacy system / data store
• Application B
– Data from two heterogeneous data stores
– Daily Sales Report
• Cash register writes to a flat file
• Product details in a RDBMS
Real world scenarios (continued..)
• Application C - consolidating data from
three data sources
– Datasource 1 : Sales data from a flat file
– Datasource 2 : Inventory data
– Datasource 3 : Sales person data
Ways of solving
• Method 1
– Create a new data store
– Pull relevant data from 3 data stores
– Store it to match Application C’s requirements
– Now comes Application X…
– More overhead
– Redundant data
• Inconsistency
• Update anomalies
Ways of solving (continued..)
• Method 2
– Connect to 3 data sources & extract data
– Three different access mechanisms
Data access mechanisms in SOA
• Direct access to databases
(JDBC,ODBC,..etc)
• Use of O/R mapping frameworks
(Hibernate, Ibatis,...)
• Enterprise Java Beans (EJBs)
• CORBA
• Custom APIs
Method 2
• Issues
– Data access code VS business logic
implementation
– Difficult to reuse
– Difficult to maintain
– Difficult to test
– Error prone
Ways of solving (continued..)
• Method 3
– Single layer to fulfill enterprise data access
requirements
• Governed by,
– More and more data being generated
– Growing demand for consolidated, consistent information
– Mashups
– Interoperability & standards
Positioning of data access code
• Application developers like to deal with
business process related logic
• Changes in data source configuration –
transparent to application logic
Data Service?
• Yet another web service
• Well defined request/response format
• Encapsulates data oriented logic
• Loose coupling (application & data store)
• Data store specific configurations
• Management & QoS features
Challenges - Heterogeneous Data
stores
• RDBMS – specific or generic JDBC drivers
• Directories – specific drivers, API
• Flat files, Spread sheets – different APIs
• Different data types
• Access control mechanisms
Accessing a data service?
• It’s just another web service !!!
– Typical web service call
– REST call
• Direct call to API
<XML> Input Message
Data Services
Solution Database
Output Data
<XML>
Expectations - Data Integration
• Transformation (mediation)
• Federation
• Bridging the gap between
– data structures
– Formats
– Vocabularies
– Data model
Reusability
• It’s a web service
• Create once & use anywhere
• Substantial return down the line
Advantages of Data Services
• Most up-to-date data using a service call
• Single layer for SOA’s data requirements
• Optimization efforts visible to all
consumers
• Developer productivity
• QoS
• Battle tested runtime
Summary
• Need for Enterprise Data Services for SOA
• Challenges faced when implementing Data
Services
• Defined Data Services
• QoS, Life cycle expectations from a Data
Services implementation
Demo
• Expose Employee contact data in MySQL
database as a service
• Table Structure
As enterprises move into developing SOAs for their more
As enterprises move into developing SOAs for their internal infrastructure, data services have become a critical component of that architecture. Essentially data services allows one to take relational and other data and make them available as services. This not only enables easy integration of data into business processes but also for mashups and any service in general. Exposing enterprise data as Web services is however not a simple task. These services need to be well secured, highly reliable, and highly scalable with the ability to handle failures transparently. One of the challenges is to make data services consumable by many applications and hence having many integration options as well. At the same time the data that need be exposed could be in the form of relational data, CSV files, Excel spreadsheet files and so on.
For the enterprise another important factor for data service solutions is that it needs to be very database developer friendly. Database architects, developers and administrators who know best how to handle enterprise data and work very closely with that data, need to be geared with an easy mechanism to expose the data as services. This ensured highly flexible integration for enterprise wide SOA. In this talk Sumedha Rubasinghe will discuss the challenges and also introduce WSO2 Data Services which can be used to meet these challenges and help bring various data sources into the center of your enterprise SOA strategy. less
0 comments
Post a comment