Sparx Systems Forum
Enterprise Architect => General Board => Topic started by: EA user on February 29, 2008, 04:25:19 am
-
L.S.
My company has just started using EA Corporate, we want to share our work using the DBMS repository functionality: is it true that in order to manage multiple projects we need to create multiple databases? Is there an alternative (I'm thinking about creating a master project?) in which we will not be dependant on our DBA?
Thanks in advance for your advice.
EA user
-
Yes and no,
I'm afraid it really is one of those things. There are all kinds of issues with the 'master project' approach. Not the least is security, though Sparx recently added the ability to secure projects in this scenario.
The basic process is just what you fear. But there are considerations both ways.
Each "model" in an EA repository is a tree descending from a root element. All models have one root item by default, which you can rename but not delete. You can create additional root items by right-clicking the top of the Project Browser tree and using the context menu.
Each such root item, and the model under it, are independent. For example, an element or connector cannot reference elements in another model (i.e. under a different root element). [Note: I do not know what happens if you attempt to duplicate an element's GUID in a different model in the same project; I don't think you should try this.]
But remember that all users will have at least read access to all your models. This might not be what you intend.
Perhaps there are other ways to ease the burden though...
Another possibility is to use a 'lightweight' DBMS for day-to-day work. If you are an Oracle or MS SQL shop then the Express versions might be just what you need. Your project manager (or whoever) could set up the working projects, and you'd be off your corporate servers. You could put periodic snapshots into a small number of corporate repositories in various ways. Your DBA could help you with automated scripts, or whatever.
Search the forum for some discussion about these issues. There are not too many threads, but there are some. You'll find some (informed) opinions, much discussion of various approaches and options, and some lessons learned.
I know that's not a cut and dried answer, but perhaps it will save you some time and grief.
David
-
Hi David,
but isn't it true that you can reuse elements from various models?
I can't double check atm, but I thought I'm using exactly this approach in some projects.
Alex
-
You should be able to reuse them, but I don't think you can reference an element (only) in one model from an element in another.
[I could be wrong on this. Perhaps that capability has been added in a recent EA version. It was not available about a year ago.]
As for reuse, I suggest you be careful about exporting a package from one model and importing it into another model in the same project. If you don't strip GUIDs then you will have some duplications. This might not be a problem, but I am not sure. It all depends on how tolerant the EA application is to duplicate GUIDs in the database.
David
-
We have just implemented EA in the company I work for (as a consultant).
This is an insurancy company, so they only make software for themselves. There are about 40 analists and about 100 programmers in the IT department. Coming from Rational Rose I had to convert about 15 models from different projects.
We have chosen to use the corporate edition with only one central database (Oracle). We also only have one root model.
This effectively means that every user can see the models of every project and department. In the context of this company that is a GOOD thing, even one of the major reasons to choose for EA.
As for security; I haven't seen the possibility of restricting parts of a model to certain users, maybe something I missed. You can however implement this behaviour using your version control system. If you put each project in a different version control location; and you restrict the access to the version control system you can effectively allow only some users to change that part of the model.
I think the type of implementation (single vs multiple database etc...) depends on the type of company.
-
Geert has the right idea Alex.
Meanwhile, for more information look up User Security in the EA help index. There is quite a lot of information on how to set this up. The part that people miss [well, I missed it, but what does that prove] is that you need to add another product key. You'll find it near the top of the page the help file mentions: http://www.sparxsystems.com/registered/reg_ea_corp_ed.html
It is also on the Registered Downloads page, but somewhat buried. If you don't know what you are looking for you are likely to miss it there.
David
PS: I just checked the release note history. Both version control and EA security can be applied at the model root level. These features were added as of EA 7.0.