SlideShare a Scribd company logo
1 of 39
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

What's hot

Demystifying cloud computing with IBM POWER Systems and IBM i
Demystifying cloud computing with IBM POWER Systems and IBM i Demystifying cloud computing with IBM POWER Systems and IBM i
Demystifying cloud computing with IBM POWER Systems and IBM i COMMON Europe
 
zEnterpise integration of Linux and traditional workload
zEnterpise integration of Linux and traditional workloadzEnterpise integration of Linux and traditional workload
zEnterpise integration of Linux and traditional workloadIBM India Smarter Computing
 
A Model Driven Reverse Engineering framework for extracting business rules ou...
A Model Driven Reverse Engineering framework for extracting business rules ou...A Model Driven Reverse Engineering framework for extracting business rules ou...
A Model Driven Reverse Engineering framework for extracting business rules ou...Valerio Cosentino
 
Cloud on PureSystems, Botond Kiss
Cloud on PureSystems, Botond KissCloud on PureSystems, Botond Kiss
Cloud on PureSystems, Botond KissIBMSERBIA
 
Extracting Business Rules from COBOL: A Model-Based Framework
Extracting Business Rules from COBOL: A Model-Based FrameworkExtracting Business Rules from COBOL: A Model-Based Framework
Extracting Business Rules from COBOL: A Model-Based FrameworkValerio Cosentino
 
IBM i and digital transformation
IBM i and digital transformationIBM i and digital transformation
IBM i and digital transformationGerard Suren
 
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorialMike Marin
 
Tarmin Lowering Capex And Opex
Tarmin Lowering Capex And Opex Tarmin Lowering Capex And Opex
Tarmin Lowering Capex And Opex Eric Herzog
 
Designing A Data Warehouse With Sql 2008
Designing A Data Warehouse With Sql 2008Designing A Data Warehouse With Sql 2008
Designing A Data Warehouse With Sql 2008thomduclos
 
A Model Driven Reverse Engineering framework for extracting business rules ou...
A Model Driven Reverse Engineering framework for extracting business rules ou...A Model Driven Reverse Engineering framework for extracting business rules ou...
A Model Driven Reverse Engineering framework for extracting business rules ou...RuleML
 
Ibm ilog odme based solution webinar
Ibm ilog odme based solution webinarIbm ilog odme based solution webinar
Ibm ilog odme based solution webinarOptiRisk India
 

What's hot (20)

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

Viewers also liked

Oslc for owf think tank on open forges
Oslc for owf think tank on open forgesOslc for owf think tank on open forges
Oslc for owf think tank on open forgesSteve Speicher
 
An incremental mining algorithm for maintaining sequential patterns using pre...
An incremental mining algorithm for maintaining sequential patterns using pre...An incremental mining algorithm for maintaining sequential patterns using pre...
An incremental mining algorithm for maintaining sequential patterns using pre...Editor IJMTER
 
Introduction to OSLC
Introduction to OSLCIntroduction to OSLC
Introduction to OSLCopenservices
 
Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Dataopenservices
 
JavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCJavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCSteve Speicher
 
Innovate 2012 ls 1439 linked data oslc
Innovate 2012 ls 1439 linked data oslcInnovate 2012 ls 1439 linked data oslc
Innovate 2012 ls 1439 linked data oslcSteve Speicher
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?Venu Anuganti
 
SQL, NoSQL, BigData in Data Architecture
SQL, NoSQL, BigData in Data ArchitectureSQL, NoSQL, BigData in Data Architecture
SQL, NoSQL, BigData in Data ArchitectureVenu Anuganti
 

Viewers also liked (8)

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

Similar to JavaOne2012 _linkeddata_oslc

EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...Steve Speicher
 
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Carolyn Crowe
 
Your Data Center Boundaries Don’t Exist Anymore!
Your Data Center Boundaries Don’t Exist Anymore! Your Data Center Boundaries Don’t Exist Anymore!
Your Data Center Boundaries Don’t Exist Anymore! EMC
 
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13gaborvodics
 
How to design good APIs
How to design good APIsHow to design good APIs
How to design good APIsAndré Vieira
 
November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...
November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...
November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...Simon Womack
 
Ibm puresystems deck for tcs abhed_11102012
Ibm puresystems  deck for tcs abhed_11102012Ibm puresystems  deck for tcs abhed_11102012
Ibm puresystems deck for tcs abhed_11102012abhedk
 
IBM MDM 10.1 What's New - Aomar Bariz
IBM MDM 10.1  What's New - Aomar BarizIBM MDM 10.1  What's New - Aomar Bariz
IBM MDM 10.1 What's New - Aomar BarizIBMInfoSphereUGFR
 
JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)Graeme_IBM
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friendStephan H. Wissel
 
Apptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptxApptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptxKhazret Sapenov
 
Real-World Data Governance: Governing Data through Metadata
Real-World Data Governance: Governing Data through MetadataReal-World Data Governance: Governing Data through Metadata
Real-World Data Governance: Governing Data through MetadataDATAVERSITY
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
Ebs em con9053_pdf_9053_0001
Ebs em con9053_pdf_9053_0001Ebs em con9053_pdf_9053_0001
Ebs em con9053_pdf_9053_0001jucaab
 
Aras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration ManagementAras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration ManagementAras
 
Freenet project ralf_sigmund_opitz_activiti_days_2012
Freenet project ralf_sigmund_opitz_activiti_days_2012Freenet project ralf_sigmund_opitz_activiti_days_2012
Freenet project ralf_sigmund_opitz_activiti_days_2012Ralf Sigmund
 
Mobile Testing Presentation at IBM Pulse 2013
Mobile Testing Presentation at IBM Pulse 2013Mobile Testing Presentation at IBM Pulse 2013
Mobile Testing Presentation at IBM Pulse 2013Leigh Williamson
 
Key Note Speech A Stepanek 1106
Key Note Speech A Stepanek 1106Key Note Speech A Stepanek 1106
Key Note Speech A Stepanek 1106COMMON Europe
 

Similar to JavaOne2012 _linkeddata_oslc (20)

EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
 
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)
 
Your Data Center Boundaries Don’t Exist Anymore!
Your Data Center Boundaries Don’t Exist Anymore! Your Data Center Boundaries Don’t Exist Anymore!
Your Data Center Boundaries Don’t Exist Anymore!
 
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13
 
How to design good APIs
How to design good APIsHow to design good APIs
How to design good APIs
 
November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...
November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...
November flex and pure flex announcements.ppt&token=mtm1mjkynzewmze4mw==&loca...
 
Ibm puresystems deck for tcs abhed_11102012
Ibm puresystems  deck for tcs abhed_11102012Ibm puresystems  deck for tcs abhed_11102012
Ibm puresystems deck for tcs abhed_11102012
 
IBM MDM 10.1 What's New - Aomar Bariz
IBM MDM 10.1  What's New - Aomar BarizIBM MDM 10.1  What's New - Aomar Bariz
IBM MDM 10.1 What's New - Aomar Bariz
 
JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friend
 
Apptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptxApptio up cloud conference 2012 [final].pptx
Apptio up cloud conference 2012 [final].pptx
 
Real-World Data Governance: Governing Data through Metadata
Real-World Data Governance: Governing Data through MetadataReal-World Data Governance: Governing Data through Metadata
Real-World Data Governance: Governing Data through Metadata
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Ebs em con9053_pdf_9053_0001
Ebs em con9053_pdf_9053_0001Ebs em con9053_pdf_9053_0001
Ebs em con9053_pdf_9053_0001
 
CGM_E_8.2.2012
CGM_E_8.2.2012CGM_E_8.2.2012
CGM_E_8.2.2012
 
Aras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration ManagementAras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration Management
 
Accelerate Return on Data
Accelerate Return on DataAccelerate Return on Data
Accelerate Return on Data
 
Freenet project ralf_sigmund_opitz_activiti_days_2012
Freenet project ralf_sigmund_opitz_activiti_days_2012Freenet project ralf_sigmund_opitz_activiti_days_2012
Freenet project ralf_sigmund_opitz_activiti_days_2012
 
Mobile Testing Presentation at IBM Pulse 2013
Mobile Testing Presentation at IBM Pulse 2013Mobile Testing Presentation at IBM Pulse 2013
Mobile Testing Presentation at IBM Pulse 2013
 
Key Note Speech A Stepanek 1106
Key Note Speech A Stepanek 1106Key Note Speech A Stepanek 1106
Key Note Speech A Stepanek 1106
 

More from Steve Speicher

OpenShift for Triangle JavaUG
OpenShift for Triangle JavaUGOpenShift for Triangle JavaUG
OpenShift for Triangle JavaUGSteve Speicher
 
W3C Linked Data Platform Overview
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform OverviewSteve Speicher
 
REST meets Semantic Web
REST meets Semantic WebREST meets Semantic Web
REST meets Semantic WebSteve Speicher
 
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...Steve Speicher
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
Innovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing IntegrationsInnovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing IntegrationsSteve Speicher
 
Better integrations through open interfaces
Better integrations through open interfacesBetter integrations through open interfaces
Better integrations through open interfacesSteve Speicher
 
DevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationDevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationSteve Speicher
 
Innovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCInnovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCSteve Speicher
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsSteve Speicher
 

More from Steve Speicher (10)

OpenShift for Triangle JavaUG
OpenShift for Triangle JavaUGOpenShift for Triangle JavaUG
OpenShift for Triangle JavaUG
 
W3C Linked Data Platform Overview
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform Overview
 
REST meets Semantic Web
REST meets Semantic WebREST meets Semantic Web
REST meets Semantic Web
 
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...
RESTful Work Items: Opening up Collaborative ALM (Rational Software Conferen...
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
Innovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing IntegrationsInnovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing Integrations
 
Better integrations through open interfaces
Better integrations through open interfacesBetter integrations through open interfaces
Better integrations through open interfaces
 
DevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationDevOps in Cloud OSLC Integration
DevOps in Cloud OSLC Integration
 
Innovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCInnovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTC
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
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

  1. 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
  2. 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.
  3. 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
  4. 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
  5. 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
  6. 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.
  7. 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
  8. 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)
  9. 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
  10. 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 )