Open Source Data Services for Strategic SOA utilising WSO2 Data Services Server

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Open Source Data Services for Strategic SOA utilising WSO2 Data Services Server - Presentation Transcript

    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
    3. Introducing Mattson ... Hi.. Mattson here.. I am an architect
    4. My manager wants to see salary increments done in HRM system to be reflected in Payroll.... These systems do not support a programmable interface..
    5. Oh..Payroll system is using an Informix database while HRM writes to a MSSQL database...
    6. Another scenario  Build a Travel Expense Management System  HRM – MSSQL  Training Mgt – Spreadsheet  Payroll - Informix
    7. 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
    8. Ways of solving (contd..)  Method 2 – Connect to 3 data sources & extract data – Three different access mechanisms
    9. 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
    10. 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
    11. Method 2 Concerns − Data access code VS business logic implementation − Difficult to reuse − Difficult to maintain − Difficult to test − Error prone
    12. 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
    13. Data Services? Tell me about it...
    14. Data Service ? Well defined request/response format Encapsulates data oriented logic Loose coupling (application & data store) Data store specific configurations Management & QoS features
    15. WSO2 Data Services Server
    16. Simple Example  Expose Employee Contact data in a MySQL database table as a data service  Table Structure
    17. GUI Wizard
    18. Data Service Configuration <data name="ContactInfoService">    <config>       <property name="org.wso2.ws.dataservice.driver">com.mysql.jdbc.Driver</property>       <property  name="org.wso2.ws.dataservice.protocol">jdbc:mysql://localhost:3306/dataservice_sample</property>       <property name="org.wso2.ws.dataservice.user">dsuser</property>       <property name="org.wso2.ws.dataservice.password">user123</property>       <property name="org.wso2.ws.dataservice.minpoolsize">1</property>       <property name="org.wso2.ws.dataservice.maxpoolsize">5</property>    </config>    <query id="contactInfoQuery">       <sql>select firstName,lastName,extension,email from employees where lastName = ?</sql>       <param name="name" sqlType="STRING" />       <result element="Employees" rowName="ContactInfo">          <attribute name="LastName" column="lastName" />          <element name="FirstName" column="firstName" />          <element name="Extension" column="extension" />          <element name="Email" column="email" />       </result>    </query>    <operation name="getContactInformation">       <call­query href="contactInfoQuery"        >          <with­param name="name" query­param="name" />       </call­query>    </operation> </data>
    19. 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
    20. WSDL for the service http://<IP>:<PORT>/services/ContactInfoService?wsdl
    21. How to access a data service?
    22. Multiple Data Source support
    23. Secure Channel
    24. Transformation
    25. Federation
    26. Caching
    27. High availability
    28. Throttling
    29. Architecture  Challenges  RDBMS – specific or generic JDBC drivers  Directories – specific drivers, API  Flat files, Spread sheets – different APIs  Different data types  Access control mechanisms
    30. 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
    31. How to access a data service?
    32. Accessing a data service – Java Client
    33. Accessing a data service – REST http://198.18.191.140:9763/services/DataServic eSample1/employeesByNumber/1001
    34. Accessing a data service – Try It
    35. Monitoring – Monitor System statistics – Running logs – Message Tracing – Dynamically configurable Logger – Exposes statistics via JMX – Dashboard – Google Gadgets
    36. Use Case 1  A mashup/ javascript/ Google Gadget wants to access data in a backend database
    37. Use Case 2  Re-using existing Master Data
    38. Use Case 2
    39. Use Case 3  Master Data Update
    40. Use Case 3
    41. Use Case 4  Content filtering based on logged in user
    42. Use Case 4
    43. Use Case 5  Service enabling enterprise data
    44. Use Case 6  Integrating with an external system
    45. Use Case 6
    46. Use Case 7
    47. WSO2 Product Platform
    48. That's lot of information... Now I would like to try these out myself. How do I get started?
    49. 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
    50. Help.. I messed it up...
    51. 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
    52. I would like to have some URLs for reference.
    53. 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
    54. Summary • Introduced WSO2 Data Services • Features • Use cases • Getting started
    55. Thank you sumedha@wso2.com (on behalf of WSO2 DS team)

    + sumedha.rsumedha.r, 2 months ago

    custom

    230 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 230
      • 223 on SlideShare
      • 7 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds
    • 7 views on http://sumedha.blogspot.com

    more

    All embeds
    • 7 views on http://sumedha.blogspot.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories