How OpenPsa uses DBE

cover image for How OpenPsa uses DBE

I’m writing this in the DBE Project Review in chilly Tampere. Looking at lot of the presentations, it seems to be a common view that actual end-user businesses would be using tools like the DBE Studio to model their business and services.

However, we feel that this is quite a bit too difficult, and that the Digital Business Ecosystem should be something happening in the background instead.

The OpenPsa approach

With the DBE implementation in OpenPsa, the only point where user becomes aware of DBE being used is when they add new contacts to the registry. One of the contact editable fields is Digital Business Ecosystem ServiceID:

The ServiceID in this case is the identifier of the Sitegroup entry in the Midgard database, which means it is essentially the identifier of an OpenPsa installation. The identifiers follow the UUID spec and so should be unique across the scale-free network.

If the ServiceID has not been provided, the user is treated as a local user and there will not be a further thought about DBE. If it is inputted on the other hand, the OpenPsa DBE Service will start looking for a matching company in the DBE P2P network. If the company is found, the OpenPsa service will then replicate all tasks and hour reports related to the remote user to the other company’s installation.

Remote users and local users are identified in person listings by different icons: satellite dish for remote user, and a person image for local user.

System architecture

Since OpenPsa has been implemented as set of MidCOM components written in PHP, it can’t connect with DBE directly. To make the connection, Exorcist is being run as the DBE Service. It watches for changes in the Midgard database, and replicates them across the DBE network as required. Here’s roughly how it works:

OpenPsa DBE connection

Security model

When the OpenPsa DBE service was developed there was no Identity System for DBE, and so at the moment the service must be run over VPN to be secure. We will look at utilizing the new DBE security module in the next project.

For us the challenge obviously is that with OpenPsa users authenticate with their Midgard accounts, and so DBE identity can only be established on per-company level. We’ll have to see how well this works with the DBE security module.

In related news, Joel Spolsky talks about Micro-ISVs, one of the target markets for the networked Openpsa.