IT experts are knowledge workers. We need to make the right decisions with short time. In 2003 SAP Mentor DJ Adams wrote an amazing Improving the OSS note experience about well designed URLs. He gave an example how to look up OSS notes in a very simple way by providing meaningful URL schemes and so URLs like:
DJ gave some examples how the web infrastructure can help you in fast and efficient way to get information, think of an RSS feed that informs you about changes of an OSS note or new OSS notes a certain application component. This shows the power and potential of a proper use of web infrastructure and web standards.
But searching a certain information is only one aspect. To make the right decisions I need an overall view of many different sources: OSS notes, master guides, upgrade information, SAP Library and of course non-normative information like whitepapers and blogs. And this is what Linked Data principles is all about: it is about navigation through information landscapes.
A Linked Data Prototype
Every ABAPer knows the ABAP inline documentation: F1 & F4 helptexts of all ABAP development objects like reports, transparent tables, data elements, classes and so on. The ABAP package SDOC provides an infrastructure for this kind of inline documentation: think of the report RDOCFINDER that performs a full table scan of inline documentation.
So I decided to expose the information in an ICF web service – an web service of the Internet Connection Framework of an AS ABAP. I decided of expose the data as RDF – and XML based standard of the Semantic Web. I did similar things before and Semantic Web Technologies Part 3 – Looking Into AS ABAP about it. In fact, my last XML book explains those techniques in detail. So I created a REST web service that has an input an SAP application – in this case it is the Error and Conflict Handler (CA-FS-ECH) application component. This is SOA framework belonging to PI infrastructure SAP Mentors Michal Krawczyk and I Forward Error Handling – Part 1: Outline about. So the ICF service http://nsp:8920/zdocu/CA-FS-ECH of my prototype gives out
- the name of the application component,
- additional meta information,
- links to SCN wiki and SAP Library and
- the names of ABAP reports having inline documentation
This information is given out as RDF and can be displayed with any Linked Data browser like Tabulator:
A double click at any link I navigate to the corresponding resource. When double click at a report name like I get the inline documentation of ECH_R_CUSTOMISING_HDS_SYS in the web browser:
To make this possible because I created a new web service from /default_host/sap/bc/docu . You can test the latter by activating the service and call it: http://nsp:8920/sap/bc/docu?name=ABAPTRY – of course you have to alter the URL a little bit according to your AS ABAP.
So what is Linked Data all about?
In this prototype a created a REST web service that gives out information in according to Semantic Web standards. It contains links to other resources like ABAP inline documentation (which are calculated on the fly) and statical information like links to SAP Library and SCN wiki. If SAP would provide it’s information using meaningful URLs like DJ Adams suggested I could generate them on the fly and provide a link:
This is the only drawback: If SAP would expose their documentation using meaningful URL schemes this prototype would be a powerful navigator between internal and external documentation. So Linked Data means the following:
- Think of everything as a resource. A piece of documentation is a resource, for example.
- Provide meaningful URLs referring to resources. Don’t hide them so that you need search engines to find them.
- Use techniques like content negotiation or metadata to expose metadata and – most important – links to other resources.
The inventor of the web Tim Berners-Lee explained this in the following talk:
In this weblog entry I explained Linked Data principles and showed how this can be used to link different kinds of documentation: online documentation, normative and non-normative documentation.
I thank DJ Adams for his inspiring weblog which was the basis for the prototype:
- Thinking of documentation as a resource having a meaningful leads to the idea of providing metadata.
- Metadata can inform us more easily about the resource and its changes – think of RSS.
- But Metadata can be used to link to other resources. Using browser add ons we can evaluate and visualize links.
In the next part I’ll explain how Semantic Technologies help the linked data approach. In fact to create the output above I used a small ontology for SAP specific terms. So the first use case of Semantic Technologies is to provide meta information of links as well as labels: readable names.