SlideShare a Scribd company logo
Leveraging W3C Linked Data for Loosely Coupled
Application Integrations

JavaOne 2012 Session CON5213
                  Steve Speicher
                  Linked Lifecycle Data and OSLC
                  Chief Architect
                  IBM Rational

                      @sspeiche

                      sspeiche@gmail.com




                                                   © 2012 IBM Corporation
Agenda




         Linked Data




                       © 2012 IBM Corporation
Software Development Tools : Year 2000 - point products



                  Software
                Configuration                              Build automation
                Management                                  & management




                                      Work-item & defect
              Test automation                                Requirements
                                    tracking (aka Change
              & management                                   management
                                        Management)




     User complaints
      – Need tools to work better
      – Need tools to work together




                                                                              © 2012 IBM Corporation
Year 2005 – ALM V1


                 Software                                 Build automation
               Configuration                               & management
               Management



                                     Work-item & defect
               Test automation                              Requirements
                                   tracking (aka Change
               & management                                 management
                                       Management)


                                   ALM Solution


 • Developer complaints                        • Mixed Tool Environments
     – Clumsy integrations                           – Open-source offerings with DIY
     – Want best-of-breed choice                       integration
                                                     – 3rd party ALM suites
 • Management complaints
     – Need governance, metrics,
       reports, …


                                                                               © 2012 IBM Corporation
Year 2010 – Linked Data and OSLC – A major breakthrough


                Software                             Build automation
              Configuration                           & management
              Management



                                                       Requirements
            Test automation                            management
            & management
                                Work-item & defect
                              tracking (aka Change
                                  Management)




        Learned to integrate with open protocols instead of glue




                                                                        © 2012 IBM Corporation
Healthcare – Reporting of drug trial and adverse effects


  Often requires custom data collection techniques at many
   office, clinic and mobile locations
  Need to report to drug producer as well as government
   regulatory agencies
  Valuable data as input in diagnosing a patient’s condition




                                                           © 2012 IBM Corporation
Healthcare – Adverse Event Reporting Landscape



           Government
                                         Drug
            Regulatory                 Producer
             Agency




                                       For each of these 3, need:
                                       •Custom protocol
                                       •Custom format
                                       •Custom schema
                                       •Custom security



                                                            © 2012 IBM Corporation
Agenda




         Linked Data




                       © 2012 IBM Corporation
Linked Data – Defined by Tim Berners-Lee


1. Use URIs as names for things
2. Use HTTP URIs so that people can look up those names.
3. When someone looks up a URI, provide useful information,
   using the standards (RDF*, SPARQL)
4. Include links to other URIs. so that they can discover more
   things.

  He concludes this with: “Simple.”




 Reference: “Linked Data”, Tim Berners-Lee, 2006-07-27

                                                             © 2012 IBM Corporation
Linked Data – What is it?


         TestCase 14 is blocked by Issue 973
      http://srv/qm/tc/14        qm:blockedBy       http://apache.org/jira/HTTPCLIENT-973



                   Joe is a committer for Apache
      http://joecoder.me         doap:committer     http://apache.org




                    Issue 973 depends on Bug 318
  http://apache.org/jira/HTTPCLIENT-973   cm:dependsOn     http://bugs.sun.com/? id=7172318


                      Issue 973 is owned by Joe
  http://apache.org/jira/HTTPCLIENT-973   dc:contributor   http://joecoder.me




                                                                                      © 2012 IBM Corporation
Linked Data – What is it? Show me a picture


                        blo
                              cke
                                    dB
                                         y
             TestCase
                14                                   contributor         co
                                                                              m
                                                                               m
                                                                                   it t
                                                                   Joe                 er

                                             Issue
                                              973

                                              n
                                sO
                              nd                                                   Apache
                            pe
                          de
                Bug
                318




                                                                                        © 2012 IBM Corporation
Linked Data – Bridging separate data sources (but with meaning)




 Source: http://lod-cloud.net Sept 2011
                                                          © 2012 IBM Corporation
v
                                                             er
                                                            S
OSLC – Based on Linked Data
         <http://cm/bugs/2314>   Common Resource Definitions
            a oslc_cm:ChangeRequest ;
            dcterms:relation <http://cm/bugs/1235>;




                                                                                                                       t
                                                                                                                        en
            oslc_cm:implementsRequirement <http://rm/req/56> .




                                                                                                                 e n em
                                                                                                               ym g
                                                                                                             lo n a

                                                                                                                    t
                                                                                                          D Ma
                                                                                                       ic e
<http://rm/req/56>




                                                                                                           ep
                                                                                                     rv
                                                                                                  Se
   a oslc_rm:Requirement ;
   dcterms:title “Online shopping cart”;
                           ol




   oslc_rm:validatedBy <http://qm/tc/17> .
                        To
               M Ch cle
                              ge ge

                                     t
                                  en
                       cy
                            na an




                                                                             em l
                                                                           ag o o
                                m
                      a




                                                                                  t
                    fe




                                                                               en
                                                                               T
                  Li




                                                                       M le
                a




                                                                  lity yc
                                                                        an
                                                                ua fec
                                                              L
                                                              Q
                                                                    Li
                                                                                  Delegated Dialogs
                  m nts l
                        o
       a ir e na em T o
                l
                ge e

                      t
        eq yc


                   en
              c
           fe




                                             Link Preview
      M u
         Li
       R




                                         http://open-services.net                                     © 2012 IBM Corporation
Agenda




         Linked Data




                       © 2012 IBM Corporation
Linked Data – state of the art


     Typically focused on exposing data with relationships
     No support for update and creation of granular data
     Data updated, created and deleted by receiving new dataset dumps
     Often an export transformation and dump of data
     Many different publications on anti-patterns and best practices
       – They don’t all align
       – Often different based on specialized usage


     Provides great value for many use cases as shown above
     Interoperable solutions are limited due to no agreement on anti-
      patterns and best practices
     Leads to most applications support least common denominator or
      hacks for different situations
                                                                  © 2012 IBM Corporation
Evolution of W3C Linked Data

 W3C Linked Data
    Four design principles proposed by Tim Berners-Lee in a 2006 article
    Standardization will accelerate industry adoption and enhance interop
 IBM Sponsored W3C Workshop on Linked Enterprise Data Patterns (Dec 2011)
   – Participating organizations included EMC, Elsevier, IBM, Nokia, Oracle
   – Workshop recommended W3C produce a standard “which defines a Linked Data
     Platform”, leveraging RDF
 IBM Submitted Linked Data Basic Profile 1.0 proposal to W3C (March 2012)
   – Base the Linked Data Platform foundation on OSLC Core technology and experience
   – Co-submitters:
   – Supporters:




                                                                              © 2012 IBM Corporation
W3C Linked Data Platform (LDP) Working Group


    Workgroup membership spans 45 participants from 27 organizations
    IBM and EMC as co-chair
    Working towards defining a clear definition of “Linked Data”, in the form of a W3C
     Recommendation
   – Based on Tim Berners-Lee four principles of Linked Data
    Chartered to produce a “Linked Data Platform” specification that:
   – HTTP-based (RESTful) application integration patterns using read/write Linked Data
   – Will complement SPARQL and will be compatible with standards for publishing
     Linked Data, bringing the data integration features of RDF to RESTful, data-oriented
     software development.

    On target to deliver a W3C Candidate Recommendation in 2013



                  Details @ http://www.w3.org/2012/ldp


                                                                                 © 2012 IBM Corporation
Linked Data Platform - Resource



      What resource formats should be used?
      What literal value types should be used?
      Are there some typical vocabularies that should be reused?
      How is optimistic collision detection handled for updates?
      What should client expectations be for changes to linked-to
       resources, such as type changes?
      What can servers do to ease the burden of constraints for resource
       creation?




                                                                     © 2012 IBM Corporation
LDP Resource – GET a simple example


            GET /container1/member1 HTTP/1.1
 Request




            Host: example.org
            Accept: text/turtle                                         container1

                                                                        member1

                                                                        member2
            Removed HTTP headers to save some space
            @prefix dcterms: <http://purl.org/dc/terms/>.               member3

            @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
            @prefix ldp: <http://w3.org/ns/ldp#>.
 Response




                                                                     http://example.org
            <http://example.org/container1/member1>
               a o:Cash;
               dcterms:title “ACME Bank savings account”;
               o:value 45.00.




                                                                          © 2012 IBM Corporation
Linked Data Platform - Container



    To which URLs can I POST to create new resources?
    Where can I GET a list of existing resources?
    How is the order of the container entries expressed?
    How do I get information about the members along with the
     container?
    How do I GET the entries of a large container broken up into pages?
    How can I ensure the resource data is easy to query?




                                                                 © 2012 IBM Corporation
ldp:Container – GET a simple example
 Request




            GET /container1 HTTP/1.1
            Host: example.org
            Accept: text/turtle                                         container1

                                                                        member1

                                                                        member2
            Removed HTTP headers to save some space
                                                                        member3
            @prefix dcterms: <http://purl.org/dc/terms/>.
            @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
            @prefix ldp: <http://w3c.org/ns/ldp#>.
                                                                     http://example.org
 Response




            <http://example.org/container1>
               a ldp:Container;
               dcterms:title "A very simple container";
               rdfs:member
                  <http://example.org/container1/member1>,
                  <http://example.org/container1/member2>,
                  <http://example.org/container1/member3>.


                                                                          © 2012 IBM Corporation
ldp:Container – create resource and add


              POST /container1 HTTP/1.1
              Host: example.org
              Content-type: text/turtle                                    container1
              Content-length: 324
                                                                           member1
   Request




              @prefix dcterms: <http://purl.org/dc/terms/>.                member2
              @prefix o: <http://example.org/ontology/>.
                                                                           member3
              <>                                                          +member4
                   a o:Stock;
                   dcterms:title “ACME Co.”;
                   o:value 100.00.                                      http://example.org
   Response




              HTTP/1.1 201 CREATED
              Content-Location: http://example.org/container1/member4




                                                                             © 2012 IBM Corporation
ldp:Container – get updated


            GET /container1 HTTP/1.1
 Request




            Host: example.org
            Accept: text/turtle                                         container1

                                                                        member1

            Removed HTTP headers to save some space                     member2
            @prefix dcterms: <http://purl.org/dc/terms/>.               member3
            @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.      member4
            @prefix ldp: <http://w3c.org/ns/ldp#>.
                                                                     http://example.org
 Response




            <http://example.org/container1>
               a ldp:Container;
               dcterms:title "A very simple container";
               rdfs:member
                  <http://example.org/container1/member1>,
                  <http://example.org/container1/member2>,
                  <http://example.org/container1/member3>,
                  <http://example.org/container1/member4>.

                                                                          © 2012 IBM Corporation
ldp:Container – Net worth example




    Disclaimer: picture only in UML, does not follow UML constraints

                                                                       © 2012 IBM Corporation
ldp:Container – slightly more complex example


       # The following is the representation of
       #   http://example.org/netWorth/nw1
       @prefix o: <http://example.org/ontology/>.
       @prefix dcterms: <http://purl.org/dc/terms/>.
       @prefix ldp: <http://w3c.org/ns/ldp#>.

       <http://example.org/netWorth/nw1>
          a o:NetWorth;
          o:asset
             <http://example.org/netWorth/nw1/assetContainer/a1>,
             <http://example.org/netWorth/nw1/assetContainer/a2>.

       <http://example.org/netWorth/nw1/assetContainer>
          a ldp:Container;
          dcterms:title "The assets of JohnZSmith";
          ldp:membershipSubject <http://example.org/netWorth/nw1>;
          ldp:membershipPredicate o:asset.


 •   Membership predicate is something other than rdfs:member (o:asset)
 •   Subject for members is something other than the container

                                                                          © 2012 IBM Corporation
Ldp:Container – Member Information

       # chopped @prefix
       <http://example.org/netWorth/nw1>
          a o:NetWorth;
          o:asset
             <http://example.org/netWorth/nw1/assetContainer/a1>,
             <http://example.org/netWorth/nw1/assetContainer/a2>.

       <http://example.org/netWorth/nw1/assetContainer>
          a ldp:Container;
          dcterms:title "The assets of JohnZSmith";
          ldp:membershipSubject <http://example.org/netWorth/nw1>;
          ldp:membershipPredicate o:asset.

       <http://example.org/netWorth/nw1/assetContainer/a1>
          a o:Stock;
          o:value 10000.
       <http://example.org/netWorth/nw1/assetContainer/a2>
          a o:Bond;
          o:value 20000.

•   Statements about the member resources included with container representation response


                                                                              © 2012 IBM Corporation
ldp:Container – Only data about it, no members
    Request


               GET /netWorth/nw1?non-member-properties HTTP/1.1
               Host: example.org
               Accept: text/turtle; charset=utf-8



               Removed HTTP headers to save some space
               @prefix o: <http://example.org/ontology/>.
               @prefix dcterms: <http://purl.org/dc/terms/>.
               @prefix ldp: <http://w3c.org/ns/ldp#>.

               <http://example.org/netWorth/nw1>
    Response




                  a o:NetWorth.
               # Members omitted

               <http://example.org/netWorth/nw1/assetContainer>
                  a ldp:Container;
                  dcterms:title "The assets of JohnZSmith";
                  ldp:membershipSubject <http://example.org/netWorth/nw1>;
                  ldp:membershipPredicate o:asset.




                                                                             © 2012 IBM Corporation
ldp:Container – Paging (first page)
     # Request-URI: http://example.org/netWorth/nw1?firstPage
     # omitted @prefix
     <http://example.org/netWorth/nw1>
        a o:NetWorth;
        o:asset
           <http://example.org/netWorth/nw1/assetContainer/a1>,
           <http://example.org/netWorth/nw1/assetContainer/a2>.

     <http://example.org/netWorth/nw1/assetContainer>
        a ldp:Container;
        dcterms:title "The assets of JohnZSmith";
        bp:membershipSubject <http://example.org/netWorth/nw1>;
        bp:membershipPredicate o:asset.

     <http://example.org/netWorth/nw1/assetContainer?firstPage>
       a ldp:Page;
       ldp:pageOf   <http://example.org/netWorth/nw1/assetContainer>;
       ldp:nextPage <http://example.org/netWorth/nw1/assetContainer?p=2>.

     <http://example.org/netWorth/nw1/assetContainer/a1>
           a o:Stock;
           o:value 100.00.
     <http://example.org/netWorth/nw1/assetContainer/a2>
           a o:Cash;
           o:value 50.00.

 •   New ldp:Page resource
 •   Members of containers are paged, not HTTP responses              © 2012 IBM Corporation
ldpContainer – Paging (last page)
    # Request-URI: http://example.org/netWorth/nw1/assetContainer?p=2
    # omitted @prefix
    <http://example.org/netWorth/nw1>
       a o:NetWorth;
       o:asset
          <http://example.org/netWorth/nw1/assetContainer/a3>.

    <http://example.org/netWorth/nw1/assetContainer>
       a bp:Container;
       dcterms:title "The assets of JohnZSmith";
       bp:membershipSubject <http://example.org/netWorth/nw1>;
       bp:membershipPredicate o:asset.

    <http://example.org/netWorth/nw1/assetContainer?p=2>
       a ldp:Page;
       ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>;
       ldp:nextPage rdf:nil.

    <http://example.org/netWorth/nw1/assetContainer/a5>
       a o:Stock;
       dcterms:title "Big Co.";
       o:value 200.02.




•   Last page indicated by rdf:nil
                                                                        © 2012 IBM Corporation
ldp:Container – Paging (ordering)
# Request-URI: http://example.org/netWorth/nw1/assetContainer?firstPage
# omitted @prefix
<http://example.org/netWorth/nw1>
   a o:NetWorth;
   o:asset
      <http://example.org/netWorth/nw1/assetContainer/a1>,
      <http://example.org/netWorth/nw1/assetContainer/a2>.

<http://example.org/netWorth/nw1/assetContainer>
   a ldp:Container;
   dcterms:title "The assets of JohnZSmith";
   ldp:membershipSubject <http://example.org/netWorth/nw1>;
   ldp:membershipPredicate o:asset.

<http://example.org/netWorth/nw1/assetContainer?firstPage>
  a ldp:Page;
  ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>;
  ldp:containerSortPredicates (o:value).

<http://example.org/netWorth/nw1/assetContainer/a1>
      a o:Stock;
      o:value 100.00.
<http://example.org/netWorth/nw1/assetContainer/a2>
      a o:Cash;
      o:value 50.00.

•   Order indicated by ldp:containerSortPredicate
•   No ordinal predicate introduced, leverage domain model                © 2012 IBM Corporation
Agenda




         Linked Data




                       © 2012 IBM Corporation
Open Source Linked Data projects


                          Simple yet solid framework for building RESTful Web
                          services based on JAX-RS

                          RDF Java API and Fuseki provides REST-style
                          SPARQL HTTP interface

                          Easily develop semantic web apps by providing tools to
                          manipulate RDF data, create RESTful Web Services


                          Extend traditional content management systems with
                          semantic services



                          SDK and supporting tools to help the community to
                          adopt OSLC specifications and build compliant tools




                                                                    © 2012 IBM Corporation
Handling Linked Data requests - GET




                                      © 2012 IBM Corporation
Handling Linked Data requests – HTTP POST

@OslcCreationFactory ( resourceTypes = {“http://open-services.net/ns/cm#ChangeRequest”} )

@POST

@Consumes({“application/rdf+xml”, “application/xml”, “application/json”})

@Produces({“application/rdf+xml”, “application/xml”, “application/json”})

public Response addChangeRequest(@Context final HttpServletRequest httpServletRequest,
                                 @Context final HttpServletResponse httpServletResponse,
                                          final ChangeRequest       changeRequest)
           throws URISyntaxException

{

    // ... create magic happens here ...



    return Response.created(about).entity(changeRequest).build();

}




                                                                                 © 2012 IBM Corporation
Annotating Classes for RDF




                             © 2012 IBM Corporation
Conclusion



 Linked Data space is actively evolving and maturing
 Loosely-coupled application integrations have benefited
 Good alignment with REST applications
 Further standardization will help the cause




    May 8, 2012                                             © 2012 IBM Corporation
Questions?




             © 2012 IBM Corporation
BACKUP




         © 2012 IBM Corporation
Open Services for Lifecycle Collaboration (OSLC)
         Working to improve the way software lifecycle tools share data

             Open Services for Lifecycle Collaboration
              Lifecycle integration inspired by the web

      Community driven and governed
        400+ registered community members
        Workgroup members from 34+ organizations
                                                                               Automation

   Wide range of interests, expertise, & participation
   Open specifications for numerous disciplines
   Defined by scenarios – solution oriented
   Implementations from IBM, BPs, and Others                                    Monitoring



      Based on             Linked Data




    Inspired by the web   Free to use and share Changing the industry
        Proven                  Open               Innovative


                                                                          © 2012 IBM Corporation

More Related Content

PDF
Aras EPLM for SolidWorks EPDM
PDF
IBM i Trends & Directions Common Europe 2012
PDF
IPM_E_10.2.12
PDF
IPM_E_8.2.2012
PDF
IPM_E_8.2.2012
PDF
IPM_E_8.2.2012
PDF
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...
PPT
The Changes In Service Delivery With Cloud Computing
Aras EPLM for SolidWorks EPDM
IBM i Trends & Directions Common Europe 2012
IPM_E_10.2.12
IPM_E_8.2.2012
IPM_E_8.2.2012
IPM_E_8.2.2012
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...
The Changes In Service Delivery With Cloud Computing

What's hot (20)

PDF
CMS_01.03.12
PDF
IEM_E_13.2.12
PDF
Demystifying cloud computing with IBM POWER Systems and IBM i
PDF
zEnterpise integration of Linux and traditional workload
PDF
A Model Driven Reverse Engineering framework for extracting business rules ou...
PDF
Cloud on PureSystems, Botond Kiss
PDF
IRM_E_12.03.12
PDF
Extracting Business Rules from COBOL: A Model-Based Framework
PDF
IPM_E_3.2.12
PDF
IBM i and digital transformation
PDF
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
PDF
IPM_E_17.3.12
PDF
HRCM_E_2FEB2012
PDF
Tarmin Lowering Capex And Opex
PDF
CGS_E_1.3.12
PDF
Designing A Data Warehouse With Sql 2008
PDF
IRM_E_24.2.12
PDF
GBM Horizons eNewsletter 2011 issue
PDF
A Model Driven Reverse Engineering framework for extracting business rules ou...
PPTX
Ibm ilog odme based solution webinar
CMS_01.03.12
IEM_E_13.2.12
Demystifying cloud computing with IBM POWER Systems and IBM i
zEnterpise integration of Linux and traditional workload
A Model Driven Reverse Engineering framework for extracting business rules ou...
Cloud on PureSystems, Botond Kiss
IRM_E_12.03.12
Extracting Business Rules from COBOL: A Model-Based Framework
IPM_E_3.2.12
IBM i and digital transformation
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
IPM_E_17.3.12
HRCM_E_2FEB2012
Tarmin Lowering Capex And Opex
CGS_E_1.3.12
Designing A Data Warehouse With Sql 2008
IRM_E_24.2.12
GBM Horizons eNewsletter 2011 issue
A Model Driven Reverse Engineering framework for extracting business rules ou...
Ibm ilog odme based solution webinar
Ad

Viewers also liked (8)

PDF
Oslc for owf think tank on open forges
PDF
An incremental mining algorithm for maintaining sequential patterns using pre...
PPT
Introduction to OSLC
PPT
Introduction to OSLC and Linked Data
PPTX
JavaOne2013 Leveraging Linked Data and OSLC
PPT
Innovate 2012 ls 1439 linked data oslc
PPT
SQL/NoSQL How to choose ?
PPT
SQL, NoSQL, BigData in Data Architecture
Oslc for owf think tank on open forges
An incremental mining algorithm for maintaining sequential patterns using pre...
Introduction to OSLC
Introduction to OSLC and Linked Data
JavaOne2013 Leveraging Linked Data and OSLC
Innovate 2012 ls 1439 linked data oslc
SQL/NoSQL How to choose ?
SQL, NoSQL, BigData in Data Architecture
Ad

Similar to JavaOne2012 _linkeddata_oslc (20)

PDF
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
PDF
A Flow Based Approach for End to End Mashups
PDF
Informix REST API Tutorial
PPT
The Agile Gap: Closing it with User Experience
PPTX
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
PDF
ISWC 2012 - Industry Track: "Linked Enterprise Data: leveraging the Semantic ...
PPTX
Introductie Visual Studio ALM 2012
PPTX
Introductie Visual Studio ALM 2012
PPTX
Mark Logic Information Analysis Trends Webinar
PDF
Lotusphere 2012 - What's next in Lotus Notes & Domino
PDF
Lotusphere 2012 - What's new in Lotus Notes & Domino
KEY
Introduction to the Semantic Web
PDF
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
PDF
The IBM Rational Insight Reporting Solution
PPT
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...
PPTX
Collab net overview_june 30 slide show
PPT
Df09 Complex Integration In Your Contact Centre Dreamforce Session
PPT
SPLive Orlando - Beyond the Search Center - Application or Solution?
PDF
IOD 2009 ECM Specific Breakouts
PPTX
Answer powerpoint template
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
A Flow Based Approach for End to End Mashups
Informix REST API Tutorial
The Agile Gap: Closing it with User Experience
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
ISWC 2012 - Industry Track: "Linked Enterprise Data: leveraging the Semantic ...
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
Mark Logic Information Analysis Trends Webinar
Lotusphere 2012 - What's next in Lotus Notes & Domino
Lotusphere 2012 - What's new in Lotus Notes & Domino
Introduction to the Semantic Web
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
The IBM Rational Insight Reporting Solution
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...
Collab net overview_june 30 slide show
Df09 Complex Integration In Your Contact Centre Dreamforce Session
SPLive Orlando - Beyond the Search Center - Application or Solution?
IOD 2009 ECM Specific Breakouts
Answer powerpoint template

More from Steve Speicher (10)

PDF
OpenShift for Triangle JavaUG
PPT
W3C Linked Data Platform Overview
PPTX
REST meets Semantic Web
PPT
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...
PPT
Innovate2014 Better Integrations Through Open Interfaces
PPT
Innovate2014 Panel - Best Practices on Implementing Integrations
PPTX
Better integrations through open interfaces
PPT
DevOps in Cloud OSLC Integration
PPT
Innovate2011 DevOps TSRM RTC
PPT
Innovate2011 Keys to Building OSLC Integrations
OpenShift for Triangle JavaUG
W3C Linked Data Platform Overview
REST meets Semantic Web
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Panel - Best Practices on Implementing Integrations
Better integrations through open interfaces
DevOps in Cloud OSLC Integration
Innovate2011 DevOps TSRM RTC
Innovate2011 Keys to Building OSLC Integrations

JavaOne2012 _linkeddata_oslc

  • 1. Leveraging W3C Linked Data for Loosely Coupled Application Integrations JavaOne 2012 Session CON5213 Steve Speicher Linked Lifecycle Data and OSLC Chief Architect IBM Rational @sspeiche sspeiche@gmail.com © 2012 IBM Corporation
  • 2. Agenda Linked Data © 2012 IBM Corporation
  • 3. Software Development Tools : Year 2000 - point products Software Configuration Build automation Management & management Work-item & defect Test automation Requirements tracking (aka Change & management management Management) User complaints – Need tools to work better – Need tools to work together © 2012 IBM Corporation
  • 4. Year 2005 – ALM V1 Software Build automation Configuration & management Management Work-item & defect Test automation Requirements tracking (aka Change & management management Management) ALM Solution • Developer complaints • Mixed Tool Environments – Clumsy integrations – Open-source offerings with DIY – Want best-of-breed choice integration – 3rd party ALM suites • Management complaints – Need governance, metrics, reports, … © 2012 IBM Corporation
  • 5. Year 2010 – Linked Data and OSLC – A major breakthrough Software Build automation Configuration & management Management Requirements Test automation management & management Work-item & defect tracking (aka Change Management) Learned to integrate with open protocols instead of glue © 2012 IBM Corporation
  • 6. Healthcare – Reporting of drug trial and adverse effects  Often requires custom data collection techniques at many office, clinic and mobile locations  Need to report to drug producer as well as government regulatory agencies  Valuable data as input in diagnosing a patient’s condition © 2012 IBM Corporation
  • 7. Healthcare – Adverse Event Reporting Landscape Government Drug Regulatory Producer Agency For each of these 3, need: •Custom protocol •Custom format •Custom schema •Custom security © 2012 IBM Corporation
  • 8. Agenda Linked Data © 2012 IBM Corporation
  • 9. Linked Data – Defined by Tim Berners-Lee 1. Use URIs as names for things 2. Use HTTP URIs so that people can look up those names. 3. When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL) 4. Include links to other URIs. so that they can discover more things. He concludes this with: “Simple.” Reference: “Linked Data”, Tim Berners-Lee, 2006-07-27 © 2012 IBM Corporation
  • 10. Linked Data – What is it? TestCase 14 is blocked by Issue 973 http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973 Joe is a committer for Apache http://joecoder.me doap:committer http://apache.org Issue 973 depends on Bug 318 http://apache.org/jira/HTTPCLIENT-973 cm:dependsOn http://bugs.sun.com/? id=7172318 Issue 973 is owned by Joe http://apache.org/jira/HTTPCLIENT-973 dc:contributor http://joecoder.me © 2012 IBM Corporation
  • 11. Linked Data – What is it? Show me a picture blo cke dB y TestCase 14 contributor co m m it t Joe er Issue 973 n sO nd Apache pe de Bug 318 © 2012 IBM Corporation
  • 12. Linked Data – Bridging separate data sources (but with meaning) Source: http://lod-cloud.net Sept 2011 © 2012 IBM Corporation
  • 13. v er S OSLC – Based on Linked Data <http://cm/bugs/2314> Common Resource Definitions a oslc_cm:ChangeRequest ; dcterms:relation <http://cm/bugs/1235>; t en oslc_cm:implementsRequirement <http://rm/req/56> . e n em ym g lo n a t D Ma ic e <http://rm/req/56> ep rv Se a oslc_rm:Requirement ; dcterms:title “Online shopping cart”; ol oslc_rm:validatedBy <http://qm/tc/17> . To M Ch cle ge ge t en cy na an em l ag o o m a t fe en T Li M le a lity yc an ua fec L Q Li Delegated Dialogs m nts l o a ir e na em T o l ge e t eq yc en c fe Link Preview M u Li R http://open-services.net © 2012 IBM Corporation
  • 14. Agenda Linked Data © 2012 IBM Corporation
  • 15. Linked Data – state of the art  Typically focused on exposing data with relationships  No support for update and creation of granular data  Data updated, created and deleted by receiving new dataset dumps  Often an export transformation and dump of data  Many different publications on anti-patterns and best practices – They don’t all align – Often different based on specialized usage  Provides great value for many use cases as shown above  Interoperable solutions are limited due to no agreement on anti- patterns and best practices  Leads to most applications support least common denominator or hacks for different situations © 2012 IBM Corporation
  • 16. Evolution of W3C Linked Data  W3C Linked Data  Four design principles proposed by Tim Berners-Lee in a 2006 article  Standardization will accelerate industry adoption and enhance interop  IBM Sponsored W3C Workshop on Linked Enterprise Data Patterns (Dec 2011) – Participating organizations included EMC, Elsevier, IBM, Nokia, Oracle – Workshop recommended W3C produce a standard “which defines a Linked Data Platform”, leveraging RDF  IBM Submitted Linked Data Basic Profile 1.0 proposal to W3C (March 2012) – Base the Linked Data Platform foundation on OSLC Core technology and experience – Co-submitters: – Supporters: © 2012 IBM Corporation
  • 17. W3C Linked Data Platform (LDP) Working Group  Workgroup membership spans 45 participants from 27 organizations  IBM and EMC as co-chair  Working towards defining a clear definition of “Linked Data”, in the form of a W3C Recommendation – Based on Tim Berners-Lee four principles of Linked Data  Chartered to produce a “Linked Data Platform” specification that: – HTTP-based (RESTful) application integration patterns using read/write Linked Data – Will complement SPARQL and will be compatible with standards for publishing Linked Data, bringing the data integration features of RDF to RESTful, data-oriented software development.  On target to deliver a W3C Candidate Recommendation in 2013 Details @ http://www.w3.org/2012/ldp © 2012 IBM Corporation
  • 18. Linked Data Platform - Resource  What resource formats should be used?  What literal value types should be used?  Are there some typical vocabularies that should be reused?  How is optimistic collision detection handled for updates?  What should client expectations be for changes to linked-to resources, such as type changes?  What can servers do to ease the burden of constraints for resource creation? © 2012 IBM Corporation
  • 19. LDP Resource – GET a simple example GET /container1/member1 HTTP/1.1 Request Host: example.org Accept: text/turtle container1 member1 member2 Removed HTTP headers to save some space @prefix dcterms: <http://purl.org/dc/terms/>. member3 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix ldp: <http://w3.org/ns/ldp#>. Response http://example.org <http://example.org/container1/member1> a o:Cash; dcterms:title “ACME Bank savings account”; o:value 45.00. © 2012 IBM Corporation
  • 20. Linked Data Platform - Container  To which URLs can I POST to create new resources?  Where can I GET a list of existing resources?  How is the order of the container entries expressed?  How do I get information about the members along with the container?  How do I GET the entries of a large container broken up into pages?  How can I ensure the resource data is easy to query? © 2012 IBM Corporation
  • 21. ldp:Container – GET a simple example Request GET /container1 HTTP/1.1 Host: example.org Accept: text/turtle container1 member1 member2 Removed HTTP headers to save some space member3 @prefix dcterms: <http://purl.org/dc/terms/>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix ldp: <http://w3c.org/ns/ldp#>. http://example.org Response <http://example.org/container1> a ldp:Container; dcterms:title "A very simple container"; rdfs:member <http://example.org/container1/member1>, <http://example.org/container1/member2>, <http://example.org/container1/member3>. © 2012 IBM Corporation
  • 22. ldp:Container – create resource and add POST /container1 HTTP/1.1 Host: example.org Content-type: text/turtle container1 Content-length: 324 member1 Request @prefix dcterms: <http://purl.org/dc/terms/>. member2 @prefix o: <http://example.org/ontology/>. member3 <> +member4 a o:Stock; dcterms:title “ACME Co.”; o:value 100.00. http://example.org Response HTTP/1.1 201 CREATED Content-Location: http://example.org/container1/member4 © 2012 IBM Corporation
  • 23. ldp:Container – get updated GET /container1 HTTP/1.1 Request Host: example.org Accept: text/turtle container1 member1 Removed HTTP headers to save some space member2 @prefix dcterms: <http://purl.org/dc/terms/>. member3 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. member4 @prefix ldp: <http://w3c.org/ns/ldp#>. http://example.org Response <http://example.org/container1> a ldp:Container; dcterms:title "A very simple container"; rdfs:member <http://example.org/container1/member1>, <http://example.org/container1/member2>, <http://example.org/container1/member3>, <http://example.org/container1/member4>. © 2012 IBM Corporation
  • 24. ldp:Container – Net worth example Disclaimer: picture only in UML, does not follow UML constraints © 2012 IBM Corporation
  • 25. ldp:Container – slightly more complex example # The following is the representation of # http://example.org/netWorth/nw1 @prefix o: <http://example.org/ontology/>. @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://w3c.org/ns/ldp#>. <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. • Membership predicate is something other than rdfs:member (o:asset) • Subject for members is something other than the container © 2012 IBM Corporation
  • 26. Ldp:Container – Member Information # chopped @prefix <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer/a1> a o:Stock; o:value 10000. <http://example.org/netWorth/nw1/assetContainer/a2> a o:Bond; o:value 20000. • Statements about the member resources included with container representation response © 2012 IBM Corporation
  • 27. ldp:Container – Only data about it, no members Request GET /netWorth/nw1?non-member-properties HTTP/1.1 Host: example.org Accept: text/turtle; charset=utf-8 Removed HTTP headers to save some space @prefix o: <http://example.org/ontology/>. @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://w3c.org/ns/ldp#>. <http://example.org/netWorth/nw1> Response a o:NetWorth. # Members omitted <http://example.org/netWorth/nw1/assetContainer> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. © 2012 IBM Corporation
  • 28. ldp:Container – Paging (first page) # Request-URI: http://example.org/netWorth/nw1?firstPage # omitted @prefix <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer> a ldp:Container; dcterms:title "The assets of JohnZSmith"; bp:membershipSubject <http://example.org/netWorth/nw1>; bp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer?firstPage> a ldp:Page; ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>; ldp:nextPage <http://example.org/netWorth/nw1/assetContainer?p=2>. <http://example.org/netWorth/nw1/assetContainer/a1> a o:Stock; o:value 100.00. <http://example.org/netWorth/nw1/assetContainer/a2> a o:Cash; o:value 50.00. • New ldp:Page resource • Members of containers are paged, not HTTP responses © 2012 IBM Corporation
  • 29. ldpContainer – Paging (last page) # Request-URI: http://example.org/netWorth/nw1/assetContainer?p=2 # omitted @prefix <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a3>. <http://example.org/netWorth/nw1/assetContainer> a bp:Container; dcterms:title "The assets of JohnZSmith"; bp:membershipSubject <http://example.org/netWorth/nw1>; bp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer?p=2> a ldp:Page; ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>; ldp:nextPage rdf:nil. <http://example.org/netWorth/nw1/assetContainer/a5> a o:Stock; dcterms:title "Big Co."; o:value 200.02. • Last page indicated by rdf:nil © 2012 IBM Corporation
  • 30. ldp:Container – Paging (ordering) # Request-URI: http://example.org/netWorth/nw1/assetContainer?firstPage # omitted @prefix <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer?firstPage> a ldp:Page; ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>; ldp:containerSortPredicates (o:value). <http://example.org/netWorth/nw1/assetContainer/a1> a o:Stock; o:value 100.00. <http://example.org/netWorth/nw1/assetContainer/a2> a o:Cash; o:value 50.00. • Order indicated by ldp:containerSortPredicate • No ordinal predicate introduced, leverage domain model © 2012 IBM Corporation
  • 31. Agenda Linked Data © 2012 IBM Corporation
  • 32. Open Source Linked Data projects Simple yet solid framework for building RESTful Web services based on JAX-RS RDF Java API and Fuseki provides REST-style SPARQL HTTP interface Easily develop semantic web apps by providing tools to manipulate RDF data, create RESTful Web Services Extend traditional content management systems with semantic services SDK and supporting tools to help the community to adopt OSLC specifications and build compliant tools © 2012 IBM Corporation
  • 33. Handling Linked Data requests - GET © 2012 IBM Corporation
  • 34. Handling Linked Data requests – HTTP POST @OslcCreationFactory ( resourceTypes = {“http://open-services.net/ns/cm#ChangeRequest”} ) @POST @Consumes({“application/rdf+xml”, “application/xml”, “application/json”}) @Produces({“application/rdf+xml”, “application/xml”, “application/json”}) public Response addChangeRequest(@Context final HttpServletRequest httpServletRequest, @Context final HttpServletResponse httpServletResponse, final ChangeRequest changeRequest) throws URISyntaxException { // ... create magic happens here ... return Response.created(about).entity(changeRequest).build(); } © 2012 IBM Corporation
  • 35. Annotating Classes for RDF © 2012 IBM Corporation
  • 36. Conclusion  Linked Data space is actively evolving and maturing  Loosely-coupled application integrations have benefited  Good alignment with REST applications  Further standardization will help the cause May 8, 2012 © 2012 IBM Corporation
  • 37. Questions? © 2012 IBM Corporation
  • 38. BACKUP © 2012 IBM Corporation
  • 39. Open Services for Lifecycle Collaboration (OSLC) Working to improve the way software lifecycle tools share data Open Services for Lifecycle Collaboration Lifecycle integration inspired by the web  Community driven and governed  400+ registered community members  Workgroup members from 34+ organizations Automation  Wide range of interests, expertise, & participation  Open specifications for numerous disciplines  Defined by scenarios – solution oriented  Implementations from IBM, BPs, and Others Monitoring  Based on Linked Data Inspired by the web Free to use and share Changing the industry Proven Open Innovative © 2012 IBM Corporation

Editor's Notes

  • #4: Key points: It was all about the best tool for the job, for example modeling tool that would generate great code, etc Rarely was integration a concern, if so done by export/import or very specialized Date isn’t the point, just some time ago
  • #5: Other points: Integrations done past shipping the key features APIs were afterthoughts Caused lock-in to current installed versions and integration glue, to upgrade either end, required upgrading other end and glue.
  • #6: Benefits: Applications can upgraded without impacting other apps Easy to add/remove tools into the ecosystem Easy to integrate completely different tools, different provider, technology platform, etc
  • #11: Points: At the core is a set of Statements (aka facts), which are typically written down or learned Tell the story as if the present is a tester, they have knowledge of their test cases and of Joe. In the Web 1.0/2.0 way to learn these things is by publishing on a HTML page for a human consumer of it This follows TBL’s 4 rules for linked data First we give these statement URIs so computers can identify them and understand them. Grouping into subject-predicate-object builds the statement Next we can do a HTTP GET to learn more When we learn more, it is in the form of more statements with URIs Those URIs point to more things or relate things back to things we already know (Joe) Jira http://www.atlassian.com/software/jira/overview
  • #12: Points: Same information as the previous slide but just as a direct graph Highlight this is just the way the web works Can point out that easy to extend to include things like: can learn when dependent software has been fixed, built and where it is available
  • #13: I call this the 30,000 feet view and the previous example the 3 inch view. So taking a giant leap back, here’s what you get (in a way) at a global scale.
  • #14: Highlights the different between Linked Data and how OSLC enhances and builds off it. When we have linked data (liked W3C Linked Data Platform), OSLC provides: Resource types and properties (vocabularies) based on scenarios An easy way to embed a fragment of HTML (link preview) into another application using standard HTTP content negotiation A way to take another web application’s (tool’s) web UI’s creation and selection dialog and embed them into your own
  • #20: Key points Request URI == subject Resource has a type Simple defn Response representation is the full state of the resource (there is no other data the server knows about it, all other data is either inbound links or stored where it doesn’t know)
  • #33: http://incubator.apache.org/clerezza/ Clerezza allows to easily develop semantic web applications by providing tools to manipulate RDF data, create RESTful Web Services http://stanbol.apache.org/index.html Apache Stanbol&apos;s intended use is to extend traditional content management systems with semantic services http://jena.apache.org/documentation/serving_data/index.html Apache Jena and Fuseki Fuseki is a SPARQL server. It provides REST-style SPARQL HTTP Update, SPARQL Query, and SPARQL Update using the SPARQL protocol over HTTP. http://incubator.apache.org/wink/ http://eclipse/lyo
  • #40: OSLC is an open community of vendors, integrators, and users, that creates freely-available, scenario-driven, specifications for integrating software applications. Though OSLC’s initial focus for specification were ALM domains, the techniques used are universally applicable , and are already being applied in workgroups focused on PLM ( with leadership from Siemens ), and DevOps ( with leadership from IBM Tivoli ). (Optional for more technical presentations: All the specifications are based on the standard, and proven, architecture of the web: HTTP, REST, and Linked Data. This means integrations don’t have to copy and synchronize data, but can link to it where it “lives”. Wherever the data is, OSLC-based integrations let users work with data from their current context. ) Whether you want to work on the details of the specifications, get the community to focus on scenarios that are important to you, or use finalized OSLC specifications to integrate your own software, the OSLC community is open to you . (Links on this chart: open-services.net open-services.net/members open-services.net/participate )