Sparx Systems Forum
Pro Cloud Server / Prolaborate / WebEA => PCS General Board => Topic started by: Guillaume on October 24, 2024, 06:16:41 pm
-
Hello,
For Prolaborate, a Powershell script, or any other custom application, a PCS license is required with the Pro Features (OSLC ...) enabled in the PCS client.
Apart from the licensing aspects, is there any difference technically in the way EA communicates with the Pro Cloud Server API compared with third party applications ? Does EA use the same OSCL methods e.g. /oslc/am/login to get the auth token, /oslc/am/resource to get details for an element, diagram... based on its guid, etc. ?
Thanks
Guillaume
-
EA (as in the fat client) doesn't use OSLC at all. It uses PCS as a gateway to get to the database.
AFAIK WebEA and Prolaborate do use OSCLC, but I'm not convinced they only use OSLC.
For WebEA you can read the source code, so if you know your way around PHP code, you might be able to figure it out.
Geert
-
Hi Geert,
Thanks for your reply.
Since EA, Prolaborate, WebEA or any custom script use the same PCS url + port + model name to access a repository, is it down to the PCS to handle how they communicate e.g. EA = ?, Prolaborate/WebEA = OSLC + ?, custom PowerShell = OSCL... ?
-
As with any interface, there is one application that provides the realisation of the interface which in turn can be used by 0, 1 or more other applications.
The using applications determine which interface they wish to use in which (use) case.
So when PCS offers both OSLC and something else, it is up to EA, Prolaborate or WebEA to determine which to use.
Besides that, they are not limited to using the PCS interface, there is also the (native) database connection which might be used directly in case the PCS interface will not suffice.
And although I'm fairly familiar with PHP, I still cannot determine how WebEA is showing the image of a diagram...
-
Besides that, they are not limited to using the PCS interface, there is also the (native) database connection which might be used directly in case the PCS interface will not suffice.
I think one of the major points of the PCS server is to hide the database and allow only connections through PCS.
Direct client/database connections are frowned upon by security architects.
Geert
-
Besides that, they are not limited to using the PCS interface, there is also the (native) database connection which might be used directly in case the PCS interface will not suffice.
I think one of the major points of the PCS server is to hide the database and allow only connections through PCS.
Direct client/database connections are frowned upon by security architects.
Geert
Hi Geert,
we're considering Prolaborate.
At the moment we have an installation with EA Heavy client and direct connection to DB.
We have more than 50 dbs, a db per project/app repository and each one has its own AD group.
How do you manage groups and access with PCS ?
Does it means PCS has full access to all databases (eg with a Service account ?)
We need to enable security in every project we have to handle authorizations or is there a way to centrally manage it ?
Many thanks
-
You don't need to set the security on the database, but instead only set it on the application level.
Prolaborate typically connects to the database using a service or database account.
You can still use the AD groups to set the security on the application level.
Geert
-
Coming back to my initial question, I had a look at PCS architectures such as the Deployment Overview in the EA Example project.
The PCS is shown with 2 distinct ports, a 443 https for the access from EA clients, and an OSLC ports + interface for modules from the web server e.g. Prolaborate.
In Prolaborate repositories configuration, the PCS details (IP + Port + model name) are the same as the ones entered from EA. So I wonder why the PCS https and OSLC are modeled as 2 different ports in the architecture view (it's a bit confusing).
Does the PCS provide 2 different interfaces on the port e.g. 1805 e.g. OSLC for Prolaborate and other 3rd party applications calling its REST API and a dedicated one from EA? Is there a name that can identify the interface used by EA when calling the PCS to access EA DBs ?