SlideShare a Scribd company logo
1 of 38
Adding Data S ervices into
       your S OA
          with
      WS O2 WS AS


             G len Daniels
         (g len@ ws o2.com)
                   &
      S umedha R ubas ing he
     (s umedha@ ws o2.com)
WS O2 B ackg round
●
    Founded in August 2005 by leaders in XML and Web
    services technologies & standards, and open source
●
    Building complete SOA platform, all 100% open
    source
●
    Founders / leading contributors to all key Apache
    Web services / SOA projects
●
    Selling support, training and services around the
    software & solutions
●
    Global corporation with R&D center in Sri Lanka and
    offices in US & UK, totaling 60+ employees
Today's Talk : Data S ervices
●
    Data is the lifeblood of the Enterprise
    –   But too often it's trapped in batch-land
    –   Bottlenecks can delay realization of SOA
        benefits
●
    Service partitioning can confuse things
    –   Service objects don't “own” things like
        “Customer”
●
    An explicit Data Service layer is convenient and
    effective
How C an Data S ervices Help?
●
    Ability to access most up-to-date data using a
    service call (brings you to the front of the wave)
●
    Single layer for accessing all the data needs of your
    SOA
●
    QoS / Security pattern is identical for data
●
    Optimization efforts will be available to all the
    service consumers
●
    Developer productivity – save time on developing
    similar data access mechanism for different
    applications
S umedha R ubas ing he


●
    At WSO2 since Nov 2006
●
    Deals w/both customers and code
●
    Key contributor to Axis2, WSAS
●
    Technical lead for Data Services
Problem
●
    Data locked away in monolithic application silos
●
    No unified away of accessing data



C halleng es
●
    SOA demands access to data in heterogeneous data
    sources
●
    Business users does not differentiate between
    application functionality or data access
●
    Financial & budgeting constraints
Alternative approaches to data acces s in
a S OA
●
    Direct access to databases (JDBC,ODBC,..etc)
●
    Use of O/R mapping frameworks (Hibernate,
    Ibatis,...)
●
    Enterprise Java Beans (EJBs)
●
    CORBA
●
    Problem
    –   Each approach demands different way of
        access
    –   Developer time spent on data access, rather
        than implementing business functionality
●
    Thus comes the need for Data services
Data S ervices in a nuts hell
A mechanism to take relational data locked away in
databases and make them available as WS-* style Web
services or as a set of REST style web resources
WS O2 Data S ervices , WS AS & Axis 2
●
    WSAS is an enterprise ready web services application
    server built on top of Axis2
●
    Data Services run on top of WSO2 Web Services
    Application Server (WSAS)
●
    First appeared on WSAS 2.0
●
    Growing feature list with every new release
●
    Open source product
Data S ervices 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
Data S ervices Deployer Architecture
Data S ervices Des cription Lang uag e
●
    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
●
    Let's see a simple example
S imple example
●
     Expose a table in MySQL database as a service
●
     Table Structure
    TABLE Employees(

      employeeNumber INTEGER,

      lastName VARCHAR(50),

      firstName VARCHAR(50),

      extension VARCHAR(10),

      email VARCHAR(100),

      officeCode VARCHAR(10),

      reportsTo INTEGER,

      jobTitle VARCHAR(50));


●
     Create a service to get contact information using
     lastName
       –   ContactInfoService -> getContactInformation(String name)
S imple example : config uration file
<data name=quot;C ontactInfoS ervicequot;>
 <config>
   <property name=quot;org.wso2.ws.dataservice.driverquot;>com.mys ql.jdbc.Driver</property>
   <property name=quot;org.wso2.ws.dataservice.protocolquot;>jdbc:mys ql://localhos t:3306/datas ervice_s ample</property>
   <property name=quot;org.wso2.ws.dataservice.userquot;>ds us er</property>
   <property name=quot;org.wso2.ws.dataservice.passwordquot;>us er123</property>
   <property name=quot;org.wso2.ws.dataservice.minpoolsizequot;>1</property>
   <property name=quot;org.wso2.ws.dataservice.maxpoolsizequot;>5</property>
 </config>

 <query id=quot;contactInfoQueryquot;>
  <sql>s elect firs tName,las tName,extens ion,email from employees where las tName = ? </sql>
  <param name=quot;namequot; sqlType=quot;S TR INGquot; />
  <result element=quot;E mployees quot; rowName=quot;C ontactInfoquot;>
    <attribute name=quot;Las tNamequot; column=quot;las tNamequot; />
    <element name=quot;Firs tNamequot; column=quot;firs tNamequot; />
    <element name=quot;E xtens ionquot; column=quot;extens ionquot; />
    <element name=quot;E mailquot; column=quot;emailquot; />
  </result>
 </query>

 <operation name=quot;g etC ontactInformationquot;>
   <call-query href=quot;contactInfoQueryquot;     >
     <with-param name=quot;namequot; query-param=quot;namequot; />
   </call-query>
 </operation>
</data>
S imple example – G UI wizard s tep (1)
S imple example – G UI wizard s tep (2)
S imple example – G UI wizard s tep (3)
WS DL for the S ervice
http://192.168.2.4:9762/services/ContactInfoService?wsdl2
Invoking the S ervice – HTTP binding
http://192.168.2.4:9762/services/ContactInfoService/getContactInformation?name=Patterson
Invoking the S ervice – us ing TryIt
Services > C ontactI nfoService > TryI t
Data S ervices Des cription Lang uag e
●
    Available online @
    http://wso2.org/wiki/display/wsf/Data+Services+and+Resources
Full C R UD operation s upport
Full C R UD operation s upport
S upported Data S ources
 ●
     Relational Databases
     –   Any database accessible via JDBC
     –   Tables, views, stored procedures, functions
 ●
     URL accessible Comma Separated Value (CSV) files
 ●
     Microsoft Excel (97 – 2003) spread sheets
     –   operation per work book
 ●
     Coming up
     –   Support for LDAP Trees
S upported Data S ources
B uilt-in connection pooling
●
    Apache DBCP as the built-in pooling manager
●
    Greatly increases the performance



                              ●
                                  Ability to connect to
                                  Data sources bound to
                                  JNDI name
                              ●
                                  Use a pooling manager
                                  of your choice
S ecuring your s ervices
●
    WSAS supports WS-Security using Apache Rampart
●
    Control who accesses your data services using user
    name tokens
●
    Transmit responses over HTTPS
'Try It' for tes ting s ervices
●
    Test your data services without leaving WSAS console
●
    Ability to dynamically change the configuration & see
    the results
WS AS Manag ement C ons ole
●
    Monitor system usage
●
    Statistics gathered include:
    –   Service usage
    –   Endpoint load
    –   Overall system performance
●
    Enable tracing of a running system and capture
    service level message traces
●
    Configure system level logging and monitor logs
    directly from the console
●
    Monitoring via JMX
Many more features
●
    Access Throttling
●
    High availability via Clustering
    –   Tribes clustering module
●
    Caching
●
    Reliable Messaging
Advantag es
●
    Portability
●
    Unified access to heterogeneous data sources
●
    Full WS-* stack support
●
    Less hassle to DBAs – no need to open up database
    over network
●
    Very simple – even a DBA can configure it
●
    Ability to optimize underlying queries with minimal
    (or none) disruption to service consumers
●
    Single layer to access data requirements of SOA –
    optimization effects every consumer
G etting s tarted ...
●
    Download WSAS (http://wso2.org/projects/wsas/java)
●
    bin/wso2wsas.sh(bat)
●
    Browse https://localhost:9443
●
    Navigate to Services > Define Data Service
●
    samples/DataServices
G etting s tarted ...
●
    Many online resources on WSO2 Oxygen Tank
    (wso2.org)
●
    How to use MySQL 5 INOUT variables in Data Services? (http://wso2.org/blog/sumedha/3082)
●
    How to call MySQL 5 Stored Function from Data Service? (http://wso2.org/blog/sumedha/3029)
●
    How to call MySQL 5 stored procedure from Data Services?(http://wso2.org/blog/sumedha/2623)
●
    How to call MySQL 5 view from Data Services? (coming up)
●
    Data Service in 2 minutes - Movie (coming up)
●
    Getting started with Data Services using Oracle (http://wso2.org/blog/sumedha/3051)
●
    Getting started with Data Services using WSO2 WSAS-2.0 (http://wso2.org/blog/sumedha/2573) -
    using Derby as database
●
    Getting started with Data Service Samples - Movie (http://wso2.org/blog/sumedha/2590) - using
    Derby as database

●
    Mailing list (wsas-java-user@wso2.org)
Profes s ional S ervices & s upport
●
    WSO2 is the leading provider of Open Source support
    for Apache WS projects
●
    With over 50 employees in three geographies we can
    offer first class support
●
    Range of support options up to 24x7 production
●
    Support Backed by key Apache and OSS committers
●
    More information - http://wso2.com/support/
Q&A
S ummary
●
    Service enable data locked away in relational
    databases
●
    Support for tables,views, functions & stored
    procedures
●
    Data Service Description Language
●
    Not limited to RDBMS (CSV,EXCEL,...)
●
    Improved QoS using WSAS capabilities
●
    Professional support
Training s
●
    Introduction to Data services (Tuesday 29th) from
    9.00 am to 12.00 noon (PST)
●
    Advance Data services (will be advertised in future)
●
    Visit http://wso2.com/training/ for more
    information
Future webinars
●
    19th February
    –   Event Streaming Processing with WSO2 ESB &
        Esper
●
    Register now for the next one at
    –   http://wso2.on.raindance.com

More Related Content

What's hot

3. Sql Services 概览
3. Sql Services 概览3. Sql Services 概览
3. Sql Services 概览GaryYoung
 
Web 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With JsfWeb 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With Jsfrajivmordani
 
Synchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCSynchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCLDAPCon
 
Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081rajivmordani
 
Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)Cathrine Wilhelmsen
 
Maximizing sql 2012 performance for share point 2013 final
Maximizing sql 2012 performance for share point 2013 finalMaximizing sql 2012 performance for share point 2013 final
Maximizing sql 2012 performance for share point 2013 finalVinh Nguyen
 
SQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and EnhancementsSQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and EnhancementsJohn Martin
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsHostway|HOSTING
 
Characteristics of no sql databases
Characteristics of no sql databasesCharacteristics of no sql databases
Characteristics of no sql databasesDipti Borkar
 
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...Sql Server Tuning for SharePoint : what every consultant must know (Office 36...
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...serge luca
 
SQL server 2016 New Features
SQL server 2016 New FeaturesSQL server 2016 New Features
SQL server 2016 New Featuresaminmesbahi
 
Couchbase overview033113long
Couchbase overview033113longCouchbase overview033113long
Couchbase overview033113longJeff Harris
 
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...European SharePoint Conference
 
Tuning Sql Server for SharePoint--- Community Day Belgium 2013
Tuning Sql Server for SharePoint--- Community Day Belgium 2013Tuning Sql Server for SharePoint--- Community Day Belgium 2013
Tuning Sql Server for SharePoint--- Community Day Belgium 2013Isabelle Van Campenhoudt
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetJeno Yamma
 
Microsoft SQL Server 2016 - Everything Built In
Microsoft SQL Server 2016 - Everything Built InMicrosoft SQL Server 2016 - Everything Built In
Microsoft SQL Server 2016 - Everything Built InDavid J Rosenthal
 
Sql server 2016 new features
Sql server 2016 new featuresSql server 2016 new features
Sql server 2016 new featuresAjeet Singh
 

What's hot (20)

3. Sql Services 概览
3. Sql Services 概览3. Sql Services 概览
3. Sql Services 概览
 
Web 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With JsfWeb 2 0 Data Visualization With Jsf
Web 2 0 Data Visualization With Jsf
 
Synchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCSynchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSC
 
Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081
 
Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)
 
Maximizing sql 2012 performance for share point 2013 final
Maximizing sql 2012 performance for share point 2013 finalMaximizing sql 2012 performance for share point 2013 final
Maximizing sql 2012 performance for share point 2013 final
 
SQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and EnhancementsSQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and Enhancements
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite Things
 
Characteristics of no sql databases
Characteristics of no sql databasesCharacteristics of no sql databases
Characteristics of no sql databases
 
RubyKaigi 2014: ServerEngine
RubyKaigi 2014: ServerEngineRubyKaigi 2014: ServerEngine
RubyKaigi 2014: ServerEngine
 
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...Sql Server Tuning for SharePoint : what every consultant must know (Office 36...
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...
 
Mres presentation
Mres presentationMres presentation
Mres presentation
 
SQL server 2016 New Features
SQL server 2016 New FeaturesSQL server 2016 New Features
SQL server 2016 New Features
 
Couchbase overview033113long
Couchbase overview033113longCouchbase overview033113long
Couchbase overview033113long
 
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
 
Tuning Sql Server for SharePoint--- Community Day Belgium 2013
Tuning Sql Server for SharePoint--- Community Day Belgium 2013Tuning Sql Server for SharePoint--- Community Day Belgium 2013
Tuning Sql Server for SharePoint--- Community Day Belgium 2013
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat Sheet
 
Microsoft SQL Server 2016 - Everything Built In
Microsoft SQL Server 2016 - Everything Built InMicrosoft SQL Server 2016 - Everything Built In
Microsoft SQL Server 2016 - Everything Built In
 
Optimizing SQL Server 2012 for SharePoint 2013
Optimizing SQL Server 2012 for SharePoint 2013Optimizing SQL Server 2012 for SharePoint 2013
Optimizing SQL Server 2012 for SharePoint 2013
 
Sql server 2016 new features
Sql server 2016 new featuresSql server 2016 new features
Sql server 2016 new features
 

Similar to Adding Data into your SOA with WSO2 WSAS

IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009Aaron King
 
Introduction To Sql Services
Introduction To Sql ServicesIntroduction To Sql Services
Introduction To Sql Servicesllangit
 
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)Pat Patterson
 
Azure Data Factory for Azure Data Week
Azure Data Factory for Azure Data WeekAzure Data Factory for Azure Data Week
Azure Data Factory for Azure Data WeekMark Kromer
 
Roles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL AzureRoles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL AzureEduardo Castro
 
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...Databricks
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simplellangit
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
Building Custom Big Data Integrations
Building Custom Big Data IntegrationsBuilding Custom Big Data Integrations
Building Custom Big Data IntegrationsPat Patterson
 
IT Summit - Modernizing Enterprise Analytics: the IT Story
IT Summit - Modernizing Enterprise Analytics: the IT StoryIT Summit - Modernizing Enterprise Analytics: the IT Story
IT Summit - Modernizing Enterprise Analytics: the IT StoryTableau Software
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developersllangit
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 

Similar to Adding Data into your SOA with WSO2 WSAS (20)

Nuxeo JavaOne 2007
Nuxeo JavaOne 2007Nuxeo JavaOne 2007
Nuxeo JavaOne 2007
 
IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009IndyCodeCamp SDS May 16th 2009
IndyCodeCamp SDS May 16th 2009
 
Introduction To Sql Services
Introduction To Sql ServicesIntroduction To Sql Services
Introduction To Sql Services
 
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
 
CV Chandrajit Samanta
CV Chandrajit SamantaCV Chandrajit Samanta
CV Chandrajit Samanta
 
Azure Data Factory for Azure Data Week
Azure Data Factory for Azure Data WeekAzure Data Factory for Azure Data Week
Azure Data Factory for Azure Data Week
 
Roles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL AzureRoles y Responsabilidades en SQL Azure
Roles y Responsabilidades en SQL Azure
 
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simple
 
Practical OData
Practical ODataPractical OData
Practical OData
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
Building Custom Big Data Integrations
Building Custom Big Data IntegrationsBuilding Custom Big Data Integrations
Building Custom Big Data Integrations
 
L19 Application Architecture
L19 Application ArchitectureL19 Application Architecture
L19 Application Architecture
 
IT Summit - Modernizing Enterprise Analytics: the IT Story
IT Summit - Modernizing Enterprise Analytics: the IT StoryIT Summit - Modernizing Enterprise Analytics: the IT Story
IT Summit - Modernizing Enterprise Analytics: the IT Story
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developers
 
L11 Application Architecture
L11 Application ArchitectureL11 Application Architecture
L11 Application Architecture
 
L19 Application Architecture
L19 Application ArchitectureL19 Application Architecture
L19 Application Architecture
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical Update
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Adding Data into your SOA with WSO2 WSAS

  • 1. Adding Data S ervices into your S OA with WS O2 WS AS G len Daniels (g len@ ws o2.com) & S umedha R ubas ing he (s umedha@ ws o2.com)
  • 2. WS O2 B ackg round ● Founded in August 2005 by leaders in XML and Web services technologies & standards, and open source ● Building complete SOA platform, all 100% open source ● Founders / leading contributors to all key Apache Web services / SOA projects ● Selling support, training and services around the software & solutions ● Global corporation with R&D center in Sri Lanka and offices in US & UK, totaling 60+ employees
  • 3. Today's Talk : Data S ervices ● Data is the lifeblood of the Enterprise – But too often it's trapped in batch-land – Bottlenecks can delay realization of SOA benefits ● Service partitioning can confuse things – Service objects don't “own” things like “Customer” ● An explicit Data Service layer is convenient and effective
  • 4. How C an Data S ervices Help? ● Ability to access most up-to-date data using a service call (brings you to the front of the wave) ● Single layer for accessing all the data needs of your SOA ● QoS / Security pattern is identical for data ● Optimization efforts will be available to all the service consumers ● Developer productivity – save time on developing similar data access mechanism for different applications
  • 5. S umedha R ubas ing he ● At WSO2 since Nov 2006 ● Deals w/both customers and code ● Key contributor to Axis2, WSAS ● Technical lead for Data Services
  • 6. Problem ● Data locked away in monolithic application silos ● No unified away of accessing data C halleng es ● SOA demands access to data in heterogeneous data sources ● Business users does not differentiate between application functionality or data access ● Financial & budgeting constraints
  • 7. Alternative approaches to data acces s in a S OA ● Direct access to databases (JDBC,ODBC,..etc) ● Use of O/R mapping frameworks (Hibernate, Ibatis,...) ● Enterprise Java Beans (EJBs) ● CORBA ● Problem – Each approach demands different way of access – Developer time spent on data access, rather than implementing business functionality ● Thus comes the need for Data services
  • 8. Data S ervices in a nuts hell A mechanism to take relational data locked away in databases and make them available as WS-* style Web services or as a set of REST style web resources
  • 9. WS O2 Data S ervices , WS AS & Axis 2 ● WSAS is an enterprise ready web services application server built on top of Axis2 ● Data Services run on top of WSO2 Web Services Application Server (WSAS) ● First appeared on WSAS 2.0 ● Growing feature list with every new release ● Open source product
  • 10. Data S ervices 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
  • 11. Data S ervices Deployer Architecture
  • 12. Data S ervices Des cription Lang uag e ● 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 ● Let's see a simple example
  • 13. S imple example ● Expose a table in MySQL database as a service ● Table Structure TABLE Employees( employeeNumber INTEGER, lastName VARCHAR(50), firstName VARCHAR(50), extension VARCHAR(10), email VARCHAR(100), officeCode VARCHAR(10), reportsTo INTEGER, jobTitle VARCHAR(50)); ● Create a service to get contact information using lastName – ContactInfoService -> getContactInformation(String name)
  • 14. S imple example : config uration file <data name=quot;C ontactInfoS ervicequot;> <config> <property name=quot;org.wso2.ws.dataservice.driverquot;>com.mys ql.jdbc.Driver</property> <property name=quot;org.wso2.ws.dataservice.protocolquot;>jdbc:mys ql://localhos t:3306/datas ervice_s ample</property> <property name=quot;org.wso2.ws.dataservice.userquot;>ds us er</property> <property name=quot;org.wso2.ws.dataservice.passwordquot;>us er123</property> <property name=quot;org.wso2.ws.dataservice.minpoolsizequot;>1</property> <property name=quot;org.wso2.ws.dataservice.maxpoolsizequot;>5</property> </config> <query id=quot;contactInfoQueryquot;> <sql>s elect firs tName,las tName,extens ion,email from employees where las tName = ? </sql> <param name=quot;namequot; sqlType=quot;S TR INGquot; /> <result element=quot;E mployees quot; rowName=quot;C ontactInfoquot;> <attribute name=quot;Las tNamequot; column=quot;las tNamequot; /> <element name=quot;Firs tNamequot; column=quot;firs tNamequot; /> <element name=quot;E xtens ionquot; column=quot;extens ionquot; /> <element name=quot;E mailquot; column=quot;emailquot; /> </result> </query> <operation name=quot;g etC ontactInformationquot;> <call-query href=quot;contactInfoQueryquot; > <with-param name=quot;namequot; query-param=quot;namequot; /> </call-query> </operation> </data>
  • 15. S imple example – G UI wizard s tep (1)
  • 16. S imple example – G UI wizard s tep (2)
  • 17. S imple example – G UI wizard s tep (3)
  • 18. WS DL for the S ervice http://192.168.2.4:9762/services/ContactInfoService?wsdl2
  • 19. Invoking the S ervice – HTTP binding http://192.168.2.4:9762/services/ContactInfoService/getContactInformation?name=Patterson
  • 20. Invoking the S ervice – us ing TryIt Services > C ontactI nfoService > TryI t
  • 21. Data S ervices Des cription Lang uag e ● Available online @ http://wso2.org/wiki/display/wsf/Data+Services+and+Resources
  • 22. Full C R UD operation s upport
  • 23. Full C R UD operation s upport
  • 24. S upported Data S ources ● Relational Databases – Any database accessible via JDBC – Tables, views, stored procedures, functions ● URL accessible Comma Separated Value (CSV) files ● Microsoft Excel (97 – 2003) spread sheets – operation per work book ● Coming up – Support for LDAP Trees
  • 25. S upported Data S ources
  • 26. B uilt-in connection pooling ● Apache DBCP as the built-in pooling manager ● Greatly increases the performance ● Ability to connect to Data sources bound to JNDI name ● Use a pooling manager of your choice
  • 27. S ecuring your s ervices ● WSAS supports WS-Security using Apache Rampart ● Control who accesses your data services using user name tokens ● Transmit responses over HTTPS
  • 28. 'Try It' for tes ting s ervices ● Test your data services without leaving WSAS console ● Ability to dynamically change the configuration & see the results
  • 29. WS AS Manag ement C ons ole ● Monitor system usage ● Statistics gathered include: – Service usage – Endpoint load – Overall system performance ● Enable tracing of a running system and capture service level message traces ● Configure system level logging and monitor logs directly from the console ● Monitoring via JMX
  • 30. Many more features ● Access Throttling ● High availability via Clustering – Tribes clustering module ● Caching ● Reliable Messaging
  • 31. Advantag es ● Portability ● Unified access to heterogeneous data sources ● Full WS-* stack support ● Less hassle to DBAs – no need to open up database over network ● Very simple – even a DBA can configure it ● Ability to optimize underlying queries with minimal (or none) disruption to service consumers ● Single layer to access data requirements of SOA – optimization effects every consumer
  • 32. G etting s tarted ... ● Download WSAS (http://wso2.org/projects/wsas/java) ● bin/wso2wsas.sh(bat) ● Browse https://localhost:9443 ● Navigate to Services > Define Data Service ● samples/DataServices
  • 33. G etting s tarted ... ● Many online resources on WSO2 Oxygen Tank (wso2.org) ● How to use MySQL 5 INOUT variables in Data Services? (http://wso2.org/blog/sumedha/3082) ● How to call MySQL 5 Stored Function from Data Service? (http://wso2.org/blog/sumedha/3029) ● How to call MySQL 5 stored procedure from Data Services?(http://wso2.org/blog/sumedha/2623) ● How to call MySQL 5 view from Data Services? (coming up) ● Data Service in 2 minutes - Movie (coming up) ● Getting started with Data Services using Oracle (http://wso2.org/blog/sumedha/3051) ● Getting started with Data Services using WSO2 WSAS-2.0 (http://wso2.org/blog/sumedha/2573) - using Derby as database ● Getting started with Data Service Samples - Movie (http://wso2.org/blog/sumedha/2590) - using Derby as database ● Mailing list (wsas-java-user@wso2.org)
  • 34. Profes s ional S ervices & s upport ● WSO2 is the leading provider of Open Source support for Apache WS projects ● With over 50 employees in three geographies we can offer first class support ● Range of support options up to 24x7 production ● Support Backed by key Apache and OSS committers ● More information - http://wso2.com/support/
  • 35. Q&A
  • 36. S ummary ● Service enable data locked away in relational databases ● Support for tables,views, functions & stored procedures ● Data Service Description Language ● Not limited to RDBMS (CSV,EXCEL,...) ● Improved QoS using WSAS capabilities ● Professional support
  • 37. Training s ● Introduction to Data services (Tuesday 29th) from 9.00 am to 12.00 noon (PST) ● Advance Data services (will be advertised in future) ● Visit http://wso2.com/training/ for more information
  • 38. Future webinars ● 19th February – Event Streaming Processing with WSO2 ESB & Esper ● Register now for the next one at – http://wso2.on.raindance.com