Hi everyone,
we are currently evaluating the use of the Enterprise Administration Module (EAM) and we need some clarification.
At Plant A, there is already an Ignition setup with several Vision projects, developed only by the local programmers of Plant A.
At Plant B, a similar setup will be installed, with Vision/Perspective projects developed independently by the local programmers of Plant B.
Only the developers at Plant A also work on a specific Perspective project, which will be used by end users in both Plant A and Plant B.
Our idea would be:
set up the Gateway Network between the servers
configure Plant A as the Controller (main site and central management point)
configure Plant B as the Agent
use EAM to distribute only that specific Perspective project from Plant A to Plant B
Question: Is it possible with EAM to perform this kind of selective distribution (only one project), while keeping all the local Vision projects at each plant intact and independent? And most importantly, is this the right approach to take, or do you have any other suggestions?
All seems reasonable to me!
Keep in mind that there can only be one EAM Controller in a Gateway Network. I regularly use EAM to remotely obtain & store daily Gateway Backups for all connected gateways. If the plan is to expand the Ignition architecture (whereby Plant A no longer remains the central management point), you might be a few steps ahead by planning for a dedicated gateway to handle those tasks now (albeit at a cost).
I’m quite confident that a clean installation on two servers works fine. The real challenge I’m facing is how to put this system into production on an already running project and what the implications would be.
For example:
In plant A there are transaction groups and scheduled scripts writing data into plant A’s DB.
If I did a “straight” deploy of the project to plant B, I’d probably end up with duplicate data in plant A’s DB, right? So some analysis/selection would be needed, bringing over to plant B only what’s really necessary for local operation, correct?
Today plant A has about 60 active Perspective sessions (90% used from plant A, 10% from plant B). Soon, plant B will add another 60 sessions (60 individual PCs).
At the same time, plant B will also start developing other projects locally with its own programmers.
This leads to the need for a dedicated and, above all, scalable infrastructure, especially considering that in the future a plant C might also be added with the same necessities as plant A.
Tags are not tied to a project, so you can safely send a project from A to B without bringing data along.
I suggest you do a trial run to check what the tasks can do.
That said, if you can see more gateways being added in the future, then by all means, use the EAM.
But if it's only these 2, I'm not sure I'd go for the EAM. A simple project export and import will work just fine.
There are some reasons to use the EAM with only one agent, though:
Agents from plant A need to be able to push updates to B, but they can't be given access to B's gateway,
you want a scheduled push (like a cron task)
maybe some other reasons i can't think of right now
You want to push a lot of differents resources
For a simple update, I'd stick to manual exports/imports.
I'm going to need to request two servers from IT for testing purposes.
In the meantime, could you clarify a concern for me? My main worry is regarding database writes originating from our scheduled scripts and transaction groups.
I assume that when setting up the second server ('plant B'), I must be very careful not to import or enable these resources—whether through the EAM or manual import. My reasoning is that if I don't, both servers will execute the same write actions, causing data to be duplicated in the database.
Is my understanding correct, or am I missing something?
The resources pushed though the EAM are nothing magical: they'll be exactly the same as if you imported them manually.
If your script writes to a DB, then it will do so for both projects. But that doesn't mean it will duplicate data. The database connection could point to a different DB, the data could be different, etc.
Really, pushing a project through the EAM is just like exporting that project, then importing it on the other gateway (through the gateway interface, it replaces the existing project, unlike importing ressources through the designer. You can also push specific ressources with the EAM)
You're right, there are definitely a few things that could make this project dynamic.
Thanks for your time, the consideration we should make at this point will be, regardless of cost, how much the project will potentially expand. This will help us figure out if it's worth it to use the EAM or simply to export/import everything.