Enterprise Data Services for Strategic SOA

2,741 views
2,653 views

Published on

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.

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,741
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
0
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Enterprise Data Services for Strategic SOA

  1. 1. Enterprise Data Services for Strategic SOA Sumedha Rubasinghe ~ sumedha@wso2.com ~ http://sumedha.blogspot.com
  2. 2. 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
  3. 3. Enterprise data • Processed & stored since beginning of computing era • Heterogeneous stores • Generated by application silos • Disconnected
  4. 4. Concerns • Each approach demands different way of access • Developer time spent on data access
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. Ways of solving (continued..) • Method 2 – Connect to 3 data sources & extract data – Three different access mechanisms
  9. 9. 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
  10. 10. Method 2 • Issues – Data access code VS business logic implementation – Difficult to reuse – Difficult to maintain – Difficult to test – Error prone
  11. 11. 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
  12. 12. Positioning of data access code • Application developers like to deal with business process related logic • Changes in data source configuration – transparent to application logic
  13. 13. 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
  14. 14. 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
  15. 15. 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>
  16. 16. Expectations - Data Integration • Transformation (mediation) • Federation • Bridging the gap between – data structures – Formats – Vocabularies – Data model
  17. 17. Reusability • It’s a web service • Create once & use anywhere • Substantial return down the line
  18. 18. Creation, runtime & management • Creation – Web / IDE based wizards – Simple configuration file • Runtime – Start, stop, maintenance mode – Scalable – Fault tolerant • Management – Versioning, auditing, dynamic modifications
  19. 19. QoS Features • Security – Access control – Content filtering – Encryption – Integrity – WS-Security
  20. 20. QoS Features • Connection Pooling (RDBMS) • Caching • Access Throttling • High Availability (HA) • Reliable Delivery • Notification
  21. 21. QoS Features • Monitoring & Management – Audit trails – Access Logs – JMX – Tracing
  22. 22. 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
  23. 23. 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
  24. 24. Demo • Expose Employee contact data in MySQL database as a service • Table Structure
  25. 25. Wizard (Step1)
  26. 26. Wizard (Step2)
  27. 27. Wizard (Step3)
  28. 28. WSDL -http://<IP>:<PORT>/services/ContactInfoService?wsdl2
  29. 29. References • http://wso2.org (Developer Portal for WS devlopers) – WSO2 ESB (Apache Synapse) – WSO2 Web Service Application Server (Apache Axis2) – Registry – Mashup Server – Data Services Solution – Identity Solution • http://wso2.org/projects/solutions/data- services/java • http://wso2.com(commercial support)
  30. 30. Thank you

×