Book a Demo

Author Topic: Best Practice for EAPX Replication  (Read 6289 times)

Paul Vermette

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Best Practice for EAPX Replication
« on: February 12, 2019, 05:45:48 am »
What is the proper way to replicate from a "replica" to a "master".

Current Process we are following:

Open Master and Replicate changes by pointing to replica.

If there are replication errors, the replica in question is open to resolve replication errors.

Open Master again to replicate changes from replica to master.

Is this the correct procedure we should be following?

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #1 on: February 12, 2019, 08:42:12 am »
Uhm. The best practice is to not use it at all. It's just MS Access replication and you shouldn't trust it as far as you can throw it. Try controlled packages or simply XMI ex-/import of clearly separated packages. Everything else will bring you nightmares.

q.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Best Practice for EAPX Replication
« Reply #2 on: February 12, 2019, 03:02:05 pm »
I agree with qwerty. Don't use it. It's not reliable and it will corrupt your model one time or another.

Geert

Sunshine

  • EA Practitioner
  • ***
  • Posts: 1353
  • Karma: +121/-10
  • Its the results that count
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #3 on: February 12, 2019, 04:18:22 pm »
In the words of Jeff Goldblum from Jurassic Park
Quote
...were so preoccupied with whether or not they could, they didn’t stop to think if they should.
I concur with previous comments on EAPX replication. Best practice is to avoid it. As to quote from Jeff again.
Quote
Oh, yeah. Oooh, ahhh, that’s how it always starts. Then later there’s running and screaming.
Seemed funny at the time :)
« Last Edit: February 12, 2019, 04:30:53 pm by Sunshine »
Happy to help
:)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #4 on: February 12, 2019, 06:11:44 pm »
Hi Paul,

Are you detecting a theme here?  ;)

Most of us who have replied have been using EA for over/about a decade.

Perhaps, if you indicated WHY you decided to attempt replication, we can help with an alternative solution.

HTH,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Paul Vermette

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #5 on: February 13, 2019, 12:10:43 am »
The reason why replication was chosen is that we have multiple solution architects (six) working on a model.

Replication allowed more of a style of git, where people could be working on similar areas of the model without requiring to checkout (and hold) an area of the model.

What challenges should I be aware of we if we go w/ controlled packages/source control?

PeterHeintz

  • EA Practitioner
  • ***
  • Posts: 1001
  • Karma: +59/-18
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #6 on: February 13, 2019, 01:11:21 am »
If your users intend to work on the same stuff in parallel, why do you not just consider having a proper SQL DB?
Best regards,

Peter Heintz

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #7 on: February 13, 2019, 04:10:09 am »
SQL DB (not Oracle) and (require user) locking (to edit) enabled is the way to go.

q.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #8 on: February 13, 2019, 09:26:22 am »
Hi again, Paul.

If you look into the forum history, you'll see I eschew version control.  It is a chimera.  Repository control is NOT the same as version control.  However, many, users still use it.  Another thing we eschew is keeping diagrams with the elements - we keep them strictly separated. Again, many users still do that.

There is no problem having multiple users work on the same repository (preferably a server-based RDBMS).  Using user security and good repository structure design, you can isolate various parts of the model.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Sunshine

  • EA Practitioner
  • ***
  • Posts: 1353
  • Karma: +121/-10
  • Its the results that count
    • View Profile
Re: Best Practice for EAPX Replication
« Reply #9 on: February 13, 2019, 01:49:21 pm »
The reason why replication was chosen is that we have multiple solution architects (six) working on a model.

Replication allowed more of a style of git, where people could be working on similar areas of the model without requiring to checkout (and hold) an area of the model.

What challenges should I be aware of we if we go w/ controlled packages/source control?
Okay that puts some prospective into it.
Yeah about that GIT model which is basically a way to shared source files providing diff and merge. That doesn't necessarily work well for a relational database. 
EAP or EAPX files are MS Access (a Relational Database) so you can have a few people editing the file (database/repository) at the same time. Some folk put these on shared drive to work on simultaneously however, depending on how the drive is shared it can either work well or not. You might be okay with six concurrent users with an EAPX file stored on a shared drive. I've done that for about 8 users at one stage. A lot of people move to using SQL Server as the repository, it takes a little more effort but works well for larger groups. At the moment I use SQL server and have up to 14 concurrent users.

You should enable security and set up user groups like beginner, intermediate and advanced to provide privileges to do certain things. Those who know Sparx EA well get advanced and those who don't get a lower level so they don't have access to things like import csv where they might overwrite everyone's work.
Also good to have regular  backups. We have daily backups.

Happy to help
:)