<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Vienna, Austria
* Corresponding author.
$ daniel.henselmann@iis.fraunhofer.de (D. Henselmann); karina.kolinsky@iis.fraunhofer.de (K. Kolinsky);
sebastian.schmid@fau.de (S. Schmid); daniel.schraudner@fau.de (D. Schraudner); andreas.both@datev.de (A. Both);
andreas.harth@fau.de (A. Harth)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Solid Proof of Concept in an Enterprise Loan Request Use Case</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Henselmann</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Karina Kolinsky</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Schmid</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Schraudner</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Both</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Harth</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DATEV eG</institution>
          ,
          <addr-line>Nürnberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Fraunhofer Institute for Integrated Circuits IIS</institution>
          ,
          <addr-line>Nürnberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Friedrich-Alexander University Erlangen-Nürnberg</institution>
          ,
          <addr-line>Nürnberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Leipzig University of Applied Sciences</institution>
          ,
          <addr-line>Leipzig</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>Social Linked Data (Solid) origins from the idea of a decentralized social Web with separated data, identities, and applications. This demo provides a proof of concept to show the usability of the Solid specifications in an enterprise data exchange scenario. The loan request of a company via a tax accountant serves as the use case. Most companies face the challenge to exchange data between enterprises. Currently, common solutions are proprietary cloud services provided by corporations like Microsoft, Google, Dropbox, Nextcloud, and ownCloud. However, these don't ofer the decentralization and trustworthiness needed for some use cases with more confidential enterprise data. Solid (derived from “Social Linked Data”) is a collection of technological specifications for read/write Linked Data supported by authentication and authorization [1]. It builds upon the RESTful HTTP service specification of the Linked Data Platform (LDP) 1. Solid uses established (Semantic) Web standards [2] and is therefore easy to integrate and use. It is also independent of any centralized element. Furthermore, Solid has lightweight specifications that make no restrictions regarding the backend database used. The physical Solid Pod2 location and identity provider can be freely chosen or self-hosted. Additionally, Solid provides detailed and flexible access control, which is crucial for enterprise use cases.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Solid</kwd>
        <kwd>WebID</kwd>
        <kwd>Read/Write Linked Data</kwd>
        <kwd>Enterprise Data Exchange</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Therefore, this demo shows the usage of Solid for the data exchange process between multiple
enterprises. For confidential enterprise data, the Solid specifications build a foundation we
use for this proof of concept and will enhance in future work to ensure a level of trust for the
data exchange process. For an actual use case (see Section 2), we partnered with DATEV eG, a
German software company particularly providing business software (e.g., for tax accounting)
on large scale.</p>
      <p>
        While the development of Solid was motivated by a decentralized social Web for personal
data [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Solid has been adapted to a few other use cases3 showing the possibilities of the Solid
specifications. Noteworthy published Solid use cases are Building Information Modelling (BIM)
in the construction industry [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], interconnecting Internet of Things (IoT) devices [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], sharing
public transportation data [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and machine-to-machine sales contract conclusion [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        The International Data Spaces (IDS)4 and GAIA-X5 initiatives aim for a complete ecosystem
regarding data sovereignty and trustful data sharing. IDS is further developed at this point in
time, but still just starting with implementations. IDS and GAIA-X partially utilize Semantic
Web standards like LDP and ontologies [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Solid could very well supplement IDS and GAIA-X
and act as a puzzle piece in their ecosystems.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Use Case</title>
      <p>We investigate the data-sharing scenario of a loan request for tax accountants. Figure 1 shows
the process, which is abstracted but based on real life. A company named Nordwind asks a bank
named Grünbank for a loan. Grünbank needs to check Nordwind’s finances to grant a loan.
Therefore, Nordwind instructs its tax accountant, Dr. Ehrlich, to provide an attested summary of
its finances to Grünbank. With that information, Grünbank can decide on the loan to Nordwind.
This scenario serves as our use case for data sharing in an enterprise environment following
the Solid approach.</p>
      <sec id="sec-2-1">
        <title>3See https://solidproject.org/apps for an overview of Solid apps with use cases. 4cf., https://internationaldataspaces.org 5cf., https://www.data-infrastructure.eu</title>
        <p>An Angular app that provides a user interface to the employees of the involved
organizations to execute the use case. The app reads/writes RDF data on the
Solid Pods using HTTP requests.</p>
        <p>An instance of the Solid App. It runs in the web browser of a Nordwind
employee. The app ofers features adapted to Nordwind users.</p>
        <p>An instance of the Solid App. It runs in the web browser of an Ehrlich employee.
The app ofers features adapted to Ehrlich users.</p>
        <p>An instance of the Solid App. It runs in the web browser of a Grünbank
employee. The app ofers features adapted to Grünbank users.</p>
        <p>A Solid Pod that contains Nordwind’s financial data.</p>
        <p>A Solid Pod that contains Nordwind’s financial documents.</p>
        <p>The identity providers host Solid servers that contain the profile documents
belonging to a WebIDs. We use multiple existing identity providers to create
WebIDs for employees of the three organizations.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Implementation</title>
      <p>
        To implement the use case with Solid, we set up a Solid App, multiple Solid Pods for data, and
several identities represented as WebIDs6 used for access control [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Table 1 lists the deployed
entities. It shows three distinct instances of our Solid App that might run in the web browser
of an employee at one of the three involved organizations. Our developed Solid App ofers
varying features to the user depending on their association with the three organizations. The
app is deployed on a generic web server. This server also hosts a Community Solid Server7,
an openly available implementation of a Solid server. On the Solid server, we instantiated two
Solid Pods. The Nordwind Pod contains the financial data of Nordwind using the file system of
the web server as storage backend. The Ehrlich Pod contains financial documents created by the
Dr. Ehrlich tax accountants on an AWS S3 bucket. From the app, users log in to their Identity
Provider to enable authentication and authorization at the Solid Pods. This demonstrates that
multiple identity providers work with the same Solid App and the Pods used for data storage can
be independent of the identity provider. All communication happens through RESTful HTTP
requests.
      </p>
      <p>The sequence diagram in Figure 2 shows the usage of the setup for the use case. The actors
in the diagram are three instances of the Solid App with corresponding features of a logged-in
user, the Nordwind Pod, and the Ehrlich Pod. We omit here authentication and authorization
steps for simplicity, both are provided by the Solid server. The presented sequence starts at the
Nordwind App, from where accounting transaction data is posted to the Nordwind Pod. After
this data is pulled with a GET request to the Ehrlich App, an audited Cash Basis Accounting8
document (CBA) is created as a summary of the financial situation of Nordwind. The CBA
is then posted to the Ehrlich Pod. Afterwards, its Access Control List9 (ACL) is successively</p>
      <sec id="sec-3-1">
        <title>6cf., https://www.w3.org/wiki/WebID 7cf., https://github.com/CommunitySolidServer/CommunitySolidServer 8German: “Einnahmenüberschussrechnung” (EÜR) 9cf., https://solid.github.io/web-access-control-spec/#introduction</title>
        <p>retrieved, adjusted, and overwritten to change the authorization to allow access to the CBA
for Grünbank employees. Afterwards, the CBA can be investigated with the Grünbank App to
decide about the loan grant. Finally, the access for Grünbank to the CBA is removed through
the Ehrlich App with another adjustment of the ACL.</p>
        <p>A video showing the proof of concept as a demo is available at https://purl.org/solid-poc-app/
demo. The repository of the developed Solid App is available on GitHub at https://github.
com/wintechis/DATEV-Solid-PoC-App. The basic ontology used to model the RDF data of the
accounting transactions and the CBAs is available at https://purl.org/solid-poc-app/ontology.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion &amp; Outlook</title>
      <p>The proof of concept shows the usage of Solid in an enterprise loan request use case. With the
usage of multiple Solid Pods as well as diferent identity providers and data backends, Solid
displays its strengths to share data in an enterprise scenario while still keeping control over it.</p>
      <p>Our next steps to advance the use case are additions to our technology stack besides the Solid
specifications towards a mature solution for confidential enterprise data. These include features
regarding data integrity, security against manipulation, confirmability of identities, and limits
of authority. Another topic is more complex: the role/group hierarchies for access control.</p>
      <p>Further possibilities lie in the automated processing of data from Solid Pods. The creation
of the CBA in our use case could happen automatically whenever the accounting transitions
are updated. Consequently, Grünbank could receive an automatic notification with access to
the new CBA and automatically provide a fitting loan ofer to Nordwind using that data. Solid
could thus work as an enabler for real-time economy.</p>
      <p>Another application for Solid in the enterprise environment is automated data aggregation,
e.g., in supply chains. With increasingly strict regulations, enterprises need to unfold their
supply chains to the very bottom. To make statements about the sustainability of an entire
supply chain, data must be aggregated vertically over multiple layers of suppliers.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>Partially funded by the German Federal Ministry of Education and Research (BMBF) through
the project “Velektronik” (FKZ 16ME0224). We currently continue with research mentioned in
the outlook, funded by the BMBF through the project “MANDAT” (FKZ 16DTM107A).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Sarven</given-names>
            <surname>Capadisli</surname>
          </string-name>
          , Tim Berners-Lee,
          <string-name>
            <given-names>Ruben</given-names>
            <surname>Verborgh</surname>
          </string-name>
          , Kjetil Kjernsmo, Solid Protocol,
          <year>2021</year>
          . URL: https://solidproject.org/TR/protocol.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Mansour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Sambra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hawke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zereba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Capadisli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghanem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Aboulnaga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>A Demonstration of the Solid Platform for Social Web Applications</article-title>
          ,
          <source>in: Proceedings of the 25th International Conference Companion on World Wide Web - WWW '16 Companion</source>
          , ACM Press,
          <year>2016</year>
          , pp.
          <fpage>223</fpage>
          -
          <lpage>226</lpage>
          . doi:
          <volume>10</volume>
          .1145/2872518.2890529.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Jeroen</given-names>
            <surname>Werbrouck</surname>
          </string-name>
          , Pieter Pauwels, Jakob Beetz, Léon van Berlo,
          <article-title>Towards a decentralised common data environment using linked building data and the solid ecosystem, in: Advances in ICT in Design, Construction and Management in Architecture, Engineering, Construction and Operations (AECO) :</article-title>
          <source>Proceedings of the 36th CIB W78 2019 Conference</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>113</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Komeiha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Cheniki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jaber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Messai</surname>
          </string-name>
          , T. Devogele,
          <article-title>Towards a Privacy Conserved and Linked Open Data Based Device Recommendation in IoT</article-title>
          , in: ServiceOriented Computing - ICSOC
          <source>2020 Workshops</source>
          , volume
          <volume>12632</volume>
          of Lecture Notes in Computer Science, Springer, Cham,
          <year>2021</year>
          , pp.
          <fpage>32</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>W.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. Zhang,</surname>
          </string-name>
          <article-title>Heterogeneous Social Linked Data Integration and Sharing for Public Transportation</article-title>
          ,
          <source>Journal of Advanced Transportation</source>
          <year>2022</year>
          (
          <year>2022</year>
          ). doi:
          <volume>10</volume>
          .1155/
          <year>2022</year>
          /6338365.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Xinni</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. H.-J. Braun</surname>
          </string-name>
          , Andreas Both, Tobias Käfer,
          <article-title>Using Schema.org and Solid for Linked Data-based Machine-to-Machine Sales Contract Conclusion</article-title>
          ,
          <source>in: Companion Proceedings of the Web Conference</source>
          <year>2022</year>
          (
          <article-title>WWW '22 Companion)</article-title>
          , ACM, New York, NY, USA,
          <year>2022</year>
          , p.
          <fpage>4</fpage>
          . URL: https://www2022.thewebconf.org/PaperFiles/79.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Boris</given-names>
            <surname>Otto</surname>
          </string-name>
          ,
          <article-title>GAIA-X and IDS</article-title>
          ,
          <string-name>
            <surname>Position</surname>
            <given-names>Paper</given-names>
          </string-name>
          ,
          <source>International Data Spaces Association</source>
          , Berlin,
          <year>2021</year>
          . doi:
          <volume>10</volume>
          .5281/ZENODO.5675897, version number:
          <volume>1</volume>
          .0.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Mainini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Laube</surname>
          </string-name>
          ,
          <article-title>Access control in linked data using WebID</article-title>
          , in: M.
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Cuquet</surname>
          </string-name>
          , E. Folmer (Eds.),
          <source>Joint Proceedings of the Posters and Demos Track of the 12th International Conference on Semantic Systems - SEMANTiCS 2016 and the 1st International Workshop on Semantic Change &amp; Evolving Semantics (SuCCESS'16)</source>
          , Leipzig, Germany,
          <source>September 12-15</source>
          ,
          <year>2016</year>
          , volume
          <volume>1695</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2016</year>
          , p.
          <fpage>8</fpage>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1695</volume>
          /paper7.pdf.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>