Martin Nally - Leveraging Internet Technologies to...

18
INNOVATE 2010 12/8/2010 9:10 PM D2_Iwata_final 1 YOW Leveraging Internet Technologies to Build a New Breed of Software Development Tools Martin Nally, VP & IBM Fellow CTO, IBM Rational Top 3 reasons Application Lifecycle Management (ALM) fails to deliver promise Distracted by day-to-day delivery pressures – 78% Tools don’t integrate properly – 62% Lack the necessary internal expertise – 56% Source: Forrester study commissioned by Wipro, 2008

Transcript of Martin Nally - Leveraging Internet Technologies to...

Page 1: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 1

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

YOWLeveraging Internet Technologies to Build a New Breed of Software Development Tools

Martin Nally VP amp IBM FellowCTO IBM Rational

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Top 3 reasons Application Lifecycle Management (ALM) fails to deliver promise

Distracted by day-to-day delivery pressures ndash 78

Tools donrsquot integrate properly ndash 62

Lack the necessary internal expertise ndash 56

Source Forrester study commissioned by Wipro 2008

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

SCM

Defect Tool

Test Tool

Requirements Tool

Tool integration today

Test 1 Test 3

Bug 3Bug 4

Bug 1Bug 2

Change 2Change 1

Build 1Build 2

Data Data

Data

Reqt 1 Reqt 3Reqt 2 Reqt 4

Data

Data

Build Tool

Copy of Bug 2

Test 2

Copy of Test 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Source Presentation on IBMrsquos ADCycle circa 1990

What did we say about this 20 years ago

ldquoA recentsurvey of over 1000 businesses indicated that thebacklog for applications is approximately four yearshelliprdquo

ldquoA recentsurvey of over 1000 businesses indicated that thebacklog for applications is approximately four yearshelliprdquo

ldquobusinessesare also faced with the high costs of maintainingexisting inventories of applications and a shortage ofexperienced programming skillsrdquo

ldquobusinessesare also faced with the high costs of maintainingexisting inventories of applications and a shortage ofexperienced programming skillsrdquo

ldquorequirements and specifications arepassed on paper from product planners to designersand from designers to codershelliprdquo

ldquorequirements and specifications arepassed on paper from product planners to designersand from designers to codershelliprdquo

ldquoproliferationof unrelated tools methodologies andmanual data transformationshelliprdquo

ldquoproliferationof unrelated tools methodologies andmanual data transformationshelliprdquo

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 3

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is the state-of-the-art today

Most other vendors still trying to build ADCycleRequires all tools to integrate around centralized repository

ndash Data import (duplication) for foreign toolsWorks as well as other centrally-planned economies have worked

ndash Do your companyrsquos needs match a fixed pre-planned solution or is an open integrated economy a better model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Build Tool

SCM

Test Tool

Requirements Tool

Defect Tool

Defect ToolB

A new approach Linked [Lifecycle] Data

Build 1

Change 2Build 2

Change 1

Bug 2

Bug 3

Bug 4

Bug 1Test 4

Test 1

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3SCM B

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 4

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is Linked Data

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

Isnrsquot this just REST

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data ndash a major transformation

There have only been two major model shifts in my 30+ year career

ndash First was shift to client server from mainframe This is the second

Adopting this simple model turns everything on its head ndash The HTTP resources are central your application a minor detailndash The HTTP URLs are permanent reality the data in the database a detailndash Closed fixed in scope -gt open extensible scopendash Fixed in time -gt everything evolves over timendash Donrsquot import data ndash address it where it is

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 5

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is RDF

A ldquouniversalrdquo data representation for the webndash Relational IMS COBOL XML object hellip data can all be expressed in RDF

A very simple model and syntax for representing data on the world wide webndash RDF is like property value pairsndash RDF adds ldquosubjectrdquo ndash what is it the property of ndash so triples not pairsndash RDF properties are themselves resources with URLs

Thatrsquos about it ndash most of the rest is hype and pretention or detailndash RDF also can describe containers and collectionsndash RDF has the notion of type but itrsquos not similar to OO type itrsquos like type in the natural worldndash There is a language for querying over RDF called SPARQL (SPARQL adds graphs so quadruples not

triples)ndash You can write down RDF data in XML as a twisted experiment of no value but there are much nicer

more natural formats

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomreqirementsr1

prefix oslc-rm lthttpopen-servicesnetnsrmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-rmRequirementltgt dctermstitle Requirement 1ltgt dctermsdescription The system should respond within 1 second

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 6

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomtestcasestc1

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-qmTestCaseltgt dctermstitle TestCase 1ltgt dctermsdescription Verifies the system responds within 1 secondltgt oslc-qmvalidatesRequirement lthttpvh1examplecomreqirementsr1gt

Donrsquot assume what sort of resource the requirement is ndash open system

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example showing why subject is important -httpvh1examplecomtestcasesdefectsoslcwhere=oslc_cminprogress=true

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt oslcnextPage lthttpvh1examplecomtestcasesdefectspage2gtlthttpvh1examplecomdefectsgt

rdfmember lthttpvh1examplecomdefects00001gtrdfmember lthttpvh1examplecomdefects00002gtrdfmember lthttpvh1examplecomdefects00003gt

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 7

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Another example showing use of subject -httpmemberscoxnetmartin_nally

prefix dbpp lthttpdbpediaorgpropertygt prefix dbpr lthttpdbpediaorgresourcegt prefix foaf lthttpxmlnscomfoaf01gt prefix xsd lthttpwwww3org2001XMLSchemagt prefix determs lthttppurlorgdctermsgtltgt dctermsdescription ldquoa web site for Martin Nallyrdquolthttpmartin-nallynamegt

dbppbirthname Martin Paul Nally dbppbirthDate 1957-01-05^^xsddate dbppbirthPlace dbprScotland foafdepiction lthttpmemberscoxnetmartin_nallyMartin_Nally6emailjpggt

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line 14

Open Services for Lifecycle CollaborationSpecifications for linked lifecycle data

An open community of individuals from industry commercial tools vendors systems integrators open source projects and academia

Focusing on sharing of lifecycle data (requirements test cases change requests) between tools and across the lifecycle

Taking a technology-neutral approach based on Internet standards and protocols

Operating at open-servicesnet

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 2: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

SCM

Defect Tool

Test Tool

Requirements Tool

Tool integration today

Test 1 Test 3

Bug 3Bug 4

Bug 1Bug 2

Change 2Change 1

Build 1Build 2

Data Data

Data

Reqt 1 Reqt 3Reqt 2 Reqt 4

Data

Data

Build Tool

Copy of Bug 2

Test 2

Copy of Test 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Source Presentation on IBMrsquos ADCycle circa 1990

What did we say about this 20 years ago

ldquoA recentsurvey of over 1000 businesses indicated that thebacklog for applications is approximately four yearshelliprdquo

ldquoA recentsurvey of over 1000 businesses indicated that thebacklog for applications is approximately four yearshelliprdquo

ldquobusinessesare also faced with the high costs of maintainingexisting inventories of applications and a shortage ofexperienced programming skillsrdquo

ldquobusinessesare also faced with the high costs of maintainingexisting inventories of applications and a shortage ofexperienced programming skillsrdquo

ldquorequirements and specifications arepassed on paper from product planners to designersand from designers to codershelliprdquo

ldquorequirements and specifications arepassed on paper from product planners to designersand from designers to codershelliprdquo

ldquoproliferationof unrelated tools methodologies andmanual data transformationshelliprdquo

ldquoproliferationof unrelated tools methodologies andmanual data transformationshelliprdquo

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 3

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is the state-of-the-art today

Most other vendors still trying to build ADCycleRequires all tools to integrate around centralized repository

ndash Data import (duplication) for foreign toolsWorks as well as other centrally-planned economies have worked

ndash Do your companyrsquos needs match a fixed pre-planned solution or is an open integrated economy a better model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Build Tool

SCM

Test Tool

Requirements Tool

Defect Tool

Defect ToolB

A new approach Linked [Lifecycle] Data

Build 1

Change 2Build 2

Change 1

Bug 2

Bug 3

Bug 4

Bug 1Test 4

Test 1

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3SCM B

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 4

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is Linked Data

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

Isnrsquot this just REST

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data ndash a major transformation

There have only been two major model shifts in my 30+ year career

ndash First was shift to client server from mainframe This is the second

Adopting this simple model turns everything on its head ndash The HTTP resources are central your application a minor detailndash The HTTP URLs are permanent reality the data in the database a detailndash Closed fixed in scope -gt open extensible scopendash Fixed in time -gt everything evolves over timendash Donrsquot import data ndash address it where it is

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 5

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is RDF

A ldquouniversalrdquo data representation for the webndash Relational IMS COBOL XML object hellip data can all be expressed in RDF

A very simple model and syntax for representing data on the world wide webndash RDF is like property value pairsndash RDF adds ldquosubjectrdquo ndash what is it the property of ndash so triples not pairsndash RDF properties are themselves resources with URLs

Thatrsquos about it ndash most of the rest is hype and pretention or detailndash RDF also can describe containers and collectionsndash RDF has the notion of type but itrsquos not similar to OO type itrsquos like type in the natural worldndash There is a language for querying over RDF called SPARQL (SPARQL adds graphs so quadruples not

triples)ndash You can write down RDF data in XML as a twisted experiment of no value but there are much nicer

more natural formats

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomreqirementsr1

prefix oslc-rm lthttpopen-servicesnetnsrmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-rmRequirementltgt dctermstitle Requirement 1ltgt dctermsdescription The system should respond within 1 second

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 6

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomtestcasestc1

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-qmTestCaseltgt dctermstitle TestCase 1ltgt dctermsdescription Verifies the system responds within 1 secondltgt oslc-qmvalidatesRequirement lthttpvh1examplecomreqirementsr1gt

Donrsquot assume what sort of resource the requirement is ndash open system

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example showing why subject is important -httpvh1examplecomtestcasesdefectsoslcwhere=oslc_cminprogress=true

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt oslcnextPage lthttpvh1examplecomtestcasesdefectspage2gtlthttpvh1examplecomdefectsgt

rdfmember lthttpvh1examplecomdefects00001gtrdfmember lthttpvh1examplecomdefects00002gtrdfmember lthttpvh1examplecomdefects00003gt

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 7

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Another example showing use of subject -httpmemberscoxnetmartin_nally

prefix dbpp lthttpdbpediaorgpropertygt prefix dbpr lthttpdbpediaorgresourcegt prefix foaf lthttpxmlnscomfoaf01gt prefix xsd lthttpwwww3org2001XMLSchemagt prefix determs lthttppurlorgdctermsgtltgt dctermsdescription ldquoa web site for Martin Nallyrdquolthttpmartin-nallynamegt

dbppbirthname Martin Paul Nally dbppbirthDate 1957-01-05^^xsddate dbppbirthPlace dbprScotland foafdepiction lthttpmemberscoxnetmartin_nallyMartin_Nally6emailjpggt

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line 14

Open Services for Lifecycle CollaborationSpecifications for linked lifecycle data

An open community of individuals from industry commercial tools vendors systems integrators open source projects and academia

Focusing on sharing of lifecycle data (requirements test cases change requests) between tools and across the lifecycle

Taking a technology-neutral approach based on Internet standards and protocols

Operating at open-servicesnet

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 3: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 3

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is the state-of-the-art today

Most other vendors still trying to build ADCycleRequires all tools to integrate around centralized repository

ndash Data import (duplication) for foreign toolsWorks as well as other centrally-planned economies have worked

ndash Do your companyrsquos needs match a fixed pre-planned solution or is an open integrated economy a better model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Build Tool

SCM

Test Tool

Requirements Tool

Defect Tool

Defect ToolB

A new approach Linked [Lifecycle] Data

Build 1

Change 2Build 2

Change 1

Bug 2

Bug 3

Bug 4

Bug 1Test 4

Test 1

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3SCM B

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 4

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is Linked Data

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

Isnrsquot this just REST

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data ndash a major transformation

There have only been two major model shifts in my 30+ year career

ndash First was shift to client server from mainframe This is the second

Adopting this simple model turns everything on its head ndash The HTTP resources are central your application a minor detailndash The HTTP URLs are permanent reality the data in the database a detailndash Closed fixed in scope -gt open extensible scopendash Fixed in time -gt everything evolves over timendash Donrsquot import data ndash address it where it is

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 5

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is RDF

A ldquouniversalrdquo data representation for the webndash Relational IMS COBOL XML object hellip data can all be expressed in RDF

A very simple model and syntax for representing data on the world wide webndash RDF is like property value pairsndash RDF adds ldquosubjectrdquo ndash what is it the property of ndash so triples not pairsndash RDF properties are themselves resources with URLs

Thatrsquos about it ndash most of the rest is hype and pretention or detailndash RDF also can describe containers and collectionsndash RDF has the notion of type but itrsquos not similar to OO type itrsquos like type in the natural worldndash There is a language for querying over RDF called SPARQL (SPARQL adds graphs so quadruples not

triples)ndash You can write down RDF data in XML as a twisted experiment of no value but there are much nicer

more natural formats

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomreqirementsr1

prefix oslc-rm lthttpopen-servicesnetnsrmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-rmRequirementltgt dctermstitle Requirement 1ltgt dctermsdescription The system should respond within 1 second

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 6

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomtestcasestc1

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-qmTestCaseltgt dctermstitle TestCase 1ltgt dctermsdescription Verifies the system responds within 1 secondltgt oslc-qmvalidatesRequirement lthttpvh1examplecomreqirementsr1gt

Donrsquot assume what sort of resource the requirement is ndash open system

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example showing why subject is important -httpvh1examplecomtestcasesdefectsoslcwhere=oslc_cminprogress=true

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt oslcnextPage lthttpvh1examplecomtestcasesdefectspage2gtlthttpvh1examplecomdefectsgt

rdfmember lthttpvh1examplecomdefects00001gtrdfmember lthttpvh1examplecomdefects00002gtrdfmember lthttpvh1examplecomdefects00003gt

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 7

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Another example showing use of subject -httpmemberscoxnetmartin_nally

prefix dbpp lthttpdbpediaorgpropertygt prefix dbpr lthttpdbpediaorgresourcegt prefix foaf lthttpxmlnscomfoaf01gt prefix xsd lthttpwwww3org2001XMLSchemagt prefix determs lthttppurlorgdctermsgtltgt dctermsdescription ldquoa web site for Martin Nallyrdquolthttpmartin-nallynamegt

dbppbirthname Martin Paul Nally dbppbirthDate 1957-01-05^^xsddate dbppbirthPlace dbprScotland foafdepiction lthttpmemberscoxnetmartin_nallyMartin_Nally6emailjpggt

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line 14

Open Services for Lifecycle CollaborationSpecifications for linked lifecycle data

An open community of individuals from industry commercial tools vendors systems integrators open source projects and academia

Focusing on sharing of lifecycle data (requirements test cases change requests) between tools and across the lifecycle

Taking a technology-neutral approach based on Internet standards and protocols

Operating at open-servicesnet

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 4: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 4

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is Linked Data

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

Isnrsquot this just REST

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data ndash a major transformation

There have only been two major model shifts in my 30+ year career

ndash First was shift to client server from mainframe This is the second

Adopting this simple model turns everything on its head ndash The HTTP resources are central your application a minor detailndash The HTTP URLs are permanent reality the data in the database a detailndash Closed fixed in scope -gt open extensible scopendash Fixed in time -gt everything evolves over timendash Donrsquot import data ndash address it where it is

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 5

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is RDF

A ldquouniversalrdquo data representation for the webndash Relational IMS COBOL XML object hellip data can all be expressed in RDF

A very simple model and syntax for representing data on the world wide webndash RDF is like property value pairsndash RDF adds ldquosubjectrdquo ndash what is it the property of ndash so triples not pairsndash RDF properties are themselves resources with URLs

Thatrsquos about it ndash most of the rest is hype and pretention or detailndash RDF also can describe containers and collectionsndash RDF has the notion of type but itrsquos not similar to OO type itrsquos like type in the natural worldndash There is a language for querying over RDF called SPARQL (SPARQL adds graphs so quadruples not

triples)ndash You can write down RDF data in XML as a twisted experiment of no value but there are much nicer

more natural formats

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomreqirementsr1

prefix oslc-rm lthttpopen-servicesnetnsrmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-rmRequirementltgt dctermstitle Requirement 1ltgt dctermsdescription The system should respond within 1 second

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 6

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomtestcasestc1

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-qmTestCaseltgt dctermstitle TestCase 1ltgt dctermsdescription Verifies the system responds within 1 secondltgt oslc-qmvalidatesRequirement lthttpvh1examplecomreqirementsr1gt

Donrsquot assume what sort of resource the requirement is ndash open system

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example showing why subject is important -httpvh1examplecomtestcasesdefectsoslcwhere=oslc_cminprogress=true

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt oslcnextPage lthttpvh1examplecomtestcasesdefectspage2gtlthttpvh1examplecomdefectsgt

rdfmember lthttpvh1examplecomdefects00001gtrdfmember lthttpvh1examplecomdefects00002gtrdfmember lthttpvh1examplecomdefects00003gt

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 7

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Another example showing use of subject -httpmemberscoxnetmartin_nally

prefix dbpp lthttpdbpediaorgpropertygt prefix dbpr lthttpdbpediaorgresourcegt prefix foaf lthttpxmlnscomfoaf01gt prefix xsd lthttpwwww3org2001XMLSchemagt prefix determs lthttppurlorgdctermsgtltgt dctermsdescription ldquoa web site for Martin Nallyrdquolthttpmartin-nallynamegt

dbppbirthname Martin Paul Nally dbppbirthDate 1957-01-05^^xsddate dbppbirthPlace dbprScotland foafdepiction lthttpmemberscoxnetmartin_nallyMartin_Nally6emailjpggt

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line 14

Open Services for Lifecycle CollaborationSpecifications for linked lifecycle data

An open community of individuals from industry commercial tools vendors systems integrators open source projects and academia

Focusing on sharing of lifecycle data (requirements test cases change requests) between tools and across the lifecycle

Taking a technology-neutral approach based on Internet standards and protocols

Operating at open-servicesnet

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 5: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 5

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

What is RDF

A ldquouniversalrdquo data representation for the webndash Relational IMS COBOL XML object hellip data can all be expressed in RDF

A very simple model and syntax for representing data on the world wide webndash RDF is like property value pairsndash RDF adds ldquosubjectrdquo ndash what is it the property of ndash so triples not pairsndash RDF properties are themselves resources with URLs

Thatrsquos about it ndash most of the rest is hype and pretention or detailndash RDF also can describe containers and collectionsndash RDF has the notion of type but itrsquos not similar to OO type itrsquos like type in the natural worldndash There is a language for querying over RDF called SPARQL (SPARQL adds graphs so quadruples not

triples)ndash You can write down RDF data in XML as a twisted experiment of no value but there are much nicer

more natural formats

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomreqirementsr1

prefix oslc-rm lthttpopen-servicesnetnsrmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-rmRequirementltgt dctermstitle Requirement 1ltgt dctermsdescription The system should respond within 1 second

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 6

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomtestcasestc1

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-qmTestCaseltgt dctermstitle TestCase 1ltgt dctermsdescription Verifies the system responds within 1 secondltgt oslc-qmvalidatesRequirement lthttpvh1examplecomreqirementsr1gt

Donrsquot assume what sort of resource the requirement is ndash open system

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example showing why subject is important -httpvh1examplecomtestcasesdefectsoslcwhere=oslc_cminprogress=true

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt oslcnextPage lthttpvh1examplecomtestcasesdefectspage2gtlthttpvh1examplecomdefectsgt

rdfmember lthttpvh1examplecomdefects00001gtrdfmember lthttpvh1examplecomdefects00002gtrdfmember lthttpvh1examplecomdefects00003gt

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 7

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Another example showing use of subject -httpmemberscoxnetmartin_nally

prefix dbpp lthttpdbpediaorgpropertygt prefix dbpr lthttpdbpediaorgresourcegt prefix foaf lthttpxmlnscomfoaf01gt prefix xsd lthttpwwww3org2001XMLSchemagt prefix determs lthttppurlorgdctermsgtltgt dctermsdescription ldquoa web site for Martin Nallyrdquolthttpmartin-nallynamegt

dbppbirthname Martin Paul Nally dbppbirthDate 1957-01-05^^xsddate dbppbirthPlace dbprScotland foafdepiction lthttpmemberscoxnetmartin_nallyMartin_Nally6emailjpggt

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line 14

Open Services for Lifecycle CollaborationSpecifications for linked lifecycle data

An open community of individuals from industry commercial tools vendors systems integrators open source projects and academia

Focusing on sharing of lifecycle data (requirements test cases change requests) between tools and across the lifecycle

Taking a technology-neutral approach based on Internet standards and protocols

Operating at open-servicesnet

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 6: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 6

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example - httpvh1examplecomtestcasestc1

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt rdftype oslc-qmTestCaseltgt dctermstitle TestCase 1ltgt dctermsdescription Verifies the system responds within 1 secondltgt oslc-qmvalidatesRequirement lthttpvh1examplecomreqirementsr1gt

Donrsquot assume what sort of resource the requirement is ndash open system

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

An example showing why subject is important -httpvh1examplecomtestcasesdefectsoslcwhere=oslc_cminprogress=true

prefix oslc-qm lthttpopen-servicesnetnsqmgtprefix determs lthttppurlorgdctermsgtprefix rdf lthttpwwww3org19990222-rdf-syntax-ns gtltgt oslcnextPage lthttpvh1examplecomtestcasesdefectspage2gtlthttpvh1examplecomdefectsgt

rdfmember lthttpvh1examplecomdefects00001gtrdfmember lthttpvh1examplecomdefects00002gtrdfmember lthttpvh1examplecomdefects00003gt

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 7

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Another example showing use of subject -httpmemberscoxnetmartin_nally

prefix dbpp lthttpdbpediaorgpropertygt prefix dbpr lthttpdbpediaorgresourcegt prefix foaf lthttpxmlnscomfoaf01gt prefix xsd lthttpwwww3org2001XMLSchemagt prefix determs lthttppurlorgdctermsgtltgt dctermsdescription ldquoa web site for Martin Nallyrdquolthttpmartin-nallynamegt

dbppbirthname Martin Paul Nally dbppbirthDate 1957-01-05^^xsddate dbppbirthPlace dbprScotland foafdepiction lthttpmemberscoxnetmartin_nallyMartin_Nally6emailjpggt

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line 14

Open Services for Lifecycle CollaborationSpecifications for linked lifecycle data

An open community of individuals from industry commercial tools vendors systems integrators open source projects and academia

Focusing on sharing of lifecycle data (requirements test cases change requests) between tools and across the lifecycle

Taking a technology-neutral approach based on Internet standards and protocols

Operating at open-servicesnet

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 7: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 7

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Another example showing use of subject -httpmemberscoxnetmartin_nally

prefix dbpp lthttpdbpediaorgpropertygt prefix dbpr lthttpdbpediaorgresourcegt prefix foaf lthttpxmlnscomfoaf01gt prefix xsd lthttpwwww3org2001XMLSchemagt prefix determs lthttppurlorgdctermsgtltgt dctermsdescription ldquoa web site for Martin Nallyrdquolthttpmartin-nallynamegt

dbppbirthname Martin Paul Nally dbppbirthDate 1957-01-05^^xsddate dbppbirthPlace dbprScotland foafdepiction lthttpmemberscoxnetmartin_nallyMartin_Nally6emailjpggt

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line 14

Open Services for Lifecycle CollaborationSpecifications for linked lifecycle data

An open community of individuals from industry commercial tools vendors systems integrators open source projects and academia

Focusing on sharing of lifecycle data (requirements test cases change requests) between tools and across the lifecycle

Taking a technology-neutral approach based on Internet standards and protocols

Operating at open-servicesnet

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 8: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 8

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line15

OSLC Community

Eleven workgroups operating at open-servicesnet

bull Intensive focus in 2010 on Core and CLM related specs (CM RM QM Arch Mgmt SCM)

bull PLMALM workgroup defining cross-cutting scenarios and driving a systems perspective

Continuing to growbull 345+ registered community members (up

from 70 people at RSC 2009)bull Individuals from 34+ different companies

have participated in OSLC workgroups (up from 5 companies at RSC 2009)

Lender Processing ServicesNorthrop GrummanOracleQSMRally SoftwareRavenflowShellSiemensSogetiSourceGearTeampriseState StreetTasktop (Eclipse Mylyn)ThalesTietoTOPIC Embedded SystemsUrbanCodeWebLayers

AccentureAPGBlack DuckBoeingBSD GroupCitigroupEADSEmphasys GroupEmpulsysEricssonFokus FraunhoferGalorathGeneral MotorsHealth Care Services CorpIBMInstitut TELECOMIntegrate Systems

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

OSLC Core Spec

Applies to all resources in an OSLC system Tries to answer some simple questions on how to use linked data

ndash What URLs can I POST to create new resourcesbull What properties couldshould I set when POSTing to these URLs

ndash How do I query the resources already POSTed at an URLbull What properties might be available to query on a set of resources

ndash How is pagination of large representations handledndash How can I delegate to the UI of another service instead of dealing with its datandash Best practices for expressing hyper-links between resources (eg link properties)ndash Partial Update (there is a reason that SQL has no equivalent of PUT only PATCH)

A bit like a superset of APP except hellipndash Linked data compatiblendash Generic - doesnrsquot require you to model your domain as a blog (feed entry)ndash Simpler Solves more problems

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 9: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 9

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Other OSLC specs

Adhere to Core spec and add domain-specific vocabulariesndash Change Managementndash Requirementsndash Assetsndash Testsndash Estimationndash Source Code Management versioningndash Reportingndash Architecturendash Projectportfoliondash Automation (eg build)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Ontologies (odious pretentious word)

bull Need to agree on common terms like ldquonamerdquo ldquotyperdquo ldquotitlerdquo ldquoidentifierrdquondash Want to query across all resources not just within typesndash We like Dublin Core Maybe rdfs (for label) Maybe foaf for Person

bull Need to agree on some domain-specific termsndash Donrsquot try to define all the properties of a resource like defect

bull Every teamorganization wants different ones

ndash Focus on those properties that are important for integration scenariosbull Eg Is a defect closedbull Eg What requirement does this test-case test

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 10: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 10

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Finding and analyzing data

Text index SPARQLtriple store

SearchQueryReportingTraceability

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Defining process rules

Requirements Tool

Test Tool

Defect ToolBug 2

Bug 3

Bug 4

Bug 1

Test 1

Test 4

AdministratorTeam Lead

Build 2

Test 3

Test 2

Reqt 1

Reqt 2

Reqt 4

Reqt 3

Change 1

Build Tool

Build 1

SCM

Change 2

AdminConsole

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 11: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 11

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

friends donrsquot let friends do hellip

XMLndash OSLC core spec has some ldquofeaturesrdquo to keep the XML zombies happy L

bull RDFXML mandatedbull forcing ldquoblank nodesrdquo to ease XML parsing (ldquoLocal Resourcerdquo) Web Services

ATOM Publishing Protocol Data formats or interfaces specified in programming language technologies

ndash Data specified with object-oriented concepts (classes instances)

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Think conceptually donrsquot think like a programmer

ldquoa list of bugsrdquo ldquothe first page of a list of bugsrdquo and ldquobugs whose id is 8rdquo are independent resources ndash not one resource with ldquoargumentsrdquo

ndash httpexamplecombugsndash httpexamplecombugsoslcwhere=dctermsidentifier=22822ndash httpexamplecombugsoslcpaging=true

ldquooslcpagination=truerdquo is also ldquothinking like a programmerrdquo Better would be

ndash httpexamplecombugsoslcfirstPage

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 12: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 12

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Most of the current web is read-only

Most content created ldquoconventionallyrdquo and then publishedndash Blogs tweets wikis are exceptionsndash APP is a protocol for blogs ()ndash Doing ldquoauthoring on the webrdquo for a new domain requires learning

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Cool URLs last forever

Donrsquot assume you can ldquomoverdquo datandash Use virtual host names not ones ties to machines

Donrsquot put any ldquomeaningrdquo into URLsndash It will change

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 13: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 13

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Security

bullWeb authentication protocols are embryonic ndash eg OAuthndash Google ndash everything is publicndash Enterprise search ndash typically everyone in enterprise can see

What is scope of ldquouserrdquoWhat is language for ACLs

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Miscellanea

Donrsquot write back-links (they will get out of synch)Donrsquot assume closed schema

ndash Ideally let others add properties to existing types

Donrsquot assume what is at the other end of a ldquolinkrdquoAvoid ldquolocal resourcesrdquo

ndash Users are global not defined by an application (accounts can be local)ndash ldquoType descriptionsrdquo are global (defects requirements hellip)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 14: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 14

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Does the application own storage

Typical Application modelndash Data access is through an application application controls integrityndash Storage is an application concern totally private and fixed

Traditional IDE modelndash Data in files multiple tools work on the files files may be all screwed upndash Permanent Storage (eg SCM versioning) is a peer application - file

system is just a temporary shared cache between applications andpermanent storage

What is web equivalent of IDE model

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Linked Data Challenges - detail

Think of ldquodata policy that changes with timerdquo not ldquoinherent characteristicsrdquo

bull Eg Defects must have a priority between 1 and 3 ndash changeable policy

Assume applications are ldquoblack boxesrdquo ndash use protocols not frameworks to integrate (cf Eclipse)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 15: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 15

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Fat client or resource-oriented UI

You can write fat clients in the browser toondash That is exactly what most experienced programmers will do

Fat clients have good support for specific workflowsFat clients have problems

ndash Long load timesndash Closed systems (what do you do when a link leads to pdf or html or other)ndash More difficult to evolve when workflows change

Another option is ldquopage per resourcerdquo UIsndash Embrace page switches

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Jazz Open extensible web-centric integration platform

Data

Open Lifecycle Servicesuuml Universal addressing and accessuuml Language neutraluuml Loose couplinguuml Tools independent

Core Services

Discovery

Account and user admin

Query amp Reporting

Licensing

Dashboards

Authentication

Common project

Foundation Services

REST APITask Specific

LogicCoreLogic

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 16: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 16

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

IBM Rational Software Delivery Platform

bull Enterprise Modernization and Transformation

bull Organizational Governance

bull Skill Development and Community

bull Implementation Services

Manage Evolving

Requirements

Manage Architecture

Accelerate Change

amp DeliveryImprove Project

Success

Deliver Enduring Quality

Deploy Process amp Governance Best Practices

In-house software

Outsource vendors

Packaged applications

Systems amp products

Solutions to help customers achieve greater value and performance from their investments in delivering software

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Governance and Control of Software Delivery

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 17: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 17

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Executive Dashboards

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Something completely different

The future is uncertain ndash reason about probabilities ndash Pierre de Fermat and Blaise Pascal correspondence (1654)ndash Christian Huygens (1657)ndash Jacob Bernoulli (1713)ndash Abraham de Moivre (1718)ndash Thomas Bayes (1763)ndash Pierre-Simon Laplace (1774)

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others

Page 18: Martin Nally - Leveraging Internet Technologies to …gotocon.com/dl/jaoo-brisbane-2010/slides/MartinNally_Leveraging...Leveraging Internet Technologies to Build a New Breed of Software

INNOVATE 2010 1282010 910 PM

D2_Iwata_final 18

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

Financier ndash using probability distributions to evaluateproject and portfolio value

No content below this line - No content below this line - No content below this line - No content below this line - No content below this line

copy Copyright IBM Corporation 2010 All rights reserved The information contained in these materials is provided for informational purposes only and is provided AS IS without warranty of any kind express or implied IBM shall not be responsible for any damages arising out of the use of or otherwise related to these materials Nothing contained in these materials is intended to nor shall have the effect of creating any warranties or representations from IBM or its suppliers or licensors or altering the terms and conditions of the applicable license agreement governing the use of IBM software References in these materials to IBM products programs or services do not imply that they will be available in all countries in which IBM operates Product release dates andor capabilities referenced in these materials may change at any time at IBMrsquos sole discretion based on market opportunities or other factors and are not intended to be a commitment to future product or feature availability in any way IBM the IBM logo Rational the Rational logo Telelogic the Telelogic logo and other IBM products and services are trademarks of the International Business Machines Corporation in the United States other countries or both Other company product or service names may be trademarks or service marks of others