How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
Open Source Data Services for Strategic SOA utilising WSO2 Data Services Server
1. Open Source Data Services for
Strategic SOA
utilising
WSO2 Data Services Server
Sumedha Rubasinghe
2009 Air Force Information Technology Conference
Montgomery, Atlanta
2. Agenda
SOA & Enterprise Data
Need for SOA Data Services
Introduction
Features
Architecture
Use Cases
Getting started & help
7. My manager wants
to see salary increments
done in HRM system to be
reflected in Payroll....
These systems do not
support a programmable
interface..
8. Oh..Payroll system is using
an Informix database while
HRM writes to a MSSQL
database...
9. Another scenario
Build a Travel Expense Management System
HRM – MSSQL
Training Mgt – Spreadsheet
Payroll - Informix
10. Ways of solving
Method 1
– Create a new data store
– Pull relevant data from HRM, Payroll & Training Mgt
Systems
– Store it to match new application’s requirements
– Now comes another application…
– More overhead
– Redundant data
• Inconsistency
• Update anomalies
11. Ways of solving (contd..)
Method 2
– Connect to 3 data sources & extract data
– Three different access mechanisms
12. Data access mechanisms
Direct access to databases (JDBC,ODBC,..etc)
Use of O/R mapping frameworks (Hibernate,
Ibatis,...)
Enterprise Java Beans (EJBs)
CORBA
Custom APIs
13. Positioning of data access code..
Application developers like to deal with
business process related logic
Changes in data source configuration
Should be transparent to application logic
Should have minimal (if not any) effect on business
logic
14. Method 2
Concerns
− Data access code VS business logic implementation
− Difficult to reuse
− Difficult to maintain
− Difficult to test
− Error prone
15. Ways of solving... (contd)
Method 3
− Single layer to fulfill enterprise data access
requirements (Data Services)
Governed by,
− More and more data being generated
− Growing demand for consolidated, consistent
information
− Mashups
− Interoperability & standards
17. Data Service ?
Well defined request/response format
Encapsulates data oriented logic
Loose coupling (application & data store)
Data store specific configurations
Management & QoS features
23. Data Services Description Language
In-house developed language for writing data
services
Maps service requests to your SOA to queries
operating on your database objects (tables,
views, procedures & functions)
Maps query results to XML responses
Available online @
http://wso2.org/wiki/display/wsf/Data+Servic
es+and+Resources
24. WSDL for the service
http://<IP>:<PORT>/services/ContactInfoService?wsdl
33. Architecture
Challenges
RDBMS – specific or generic JDBC drivers
Directories – specific drivers, API
Flat files, Spread sheets – different APIs
Different data types
Access control mechanisms
34. Architecture
Data Services are SOA equivalent of the Data
Access Object(DAO) Pattern
DS deal with different data sources similar to
what DAO does
But, DS operate on a different layer
53. That's lot of information...
Now I would like to try these out
myself. How do I get started?
54. How to get started?
Download binary distribution from
– http://wso2.org/projects/data-services-server/java
Latest is v2.0
Unzip
• Run bin/wso2server.sh (on Unix) or
bin/wso2server.bat (on Windows)
• Management console
– https://localhost:9443/carbon
– admin/admin
56. How to get help?
Online forum(http://wso2.org/forum/404)
Mailing list (ds-java-user@wso2.org)
Active community of external users
Ample free documentation on wso2.org
If needed, we provided commercial support on
– Getting started
– Deployment
– Custom development
– Production support
58. Useful references
WSO2 Oxygen Tank for Web Service Developers
– http://wso2.org
Data Services HOWTOs Page
– http://wso2.org/library/3183
WSO2 Data Services project page
– http://wso2.org/projects/data-services-server/java