Book a Demo

Author Topic: Load big remote-projects  (Read 5048 times)

danielku15

  • EA User
  • **
  • Posts: 32
  • Karma: +0/-0
  • Nobody is perfect and I'm a nobody :D
    • View Profile
Load big remote-projects
« on: July 26, 2007, 09:43:03 pm »
Hi
I've got another problem with EA. We've got a very big project ob an oracle database (200 packages, 500 diagrams, 5500 elements, 6000 connections,..). And it needs about 3 minutes to load the whole project. Is there a possibility to load only parts of the project (views) and on click reload the subpackages and diagrams?

Greets Daniel.
CoderLine.net - The Online Coder Resource (comming soon)

thomaskilian

  • Guest
Re: Load big remote-projects
« Reply #1 on: July 29, 2007, 04:59:12 am »
Maybe you should read about controlled packages - just an idea, not an answer.

Martin Terreni

  • EA User
  • **
  • Posts: 672
  • Karma: +0/-0
  • Sorry, I can't write
    • View Profile
Re: Load big remote-projects
« Reply #2 on: July 29, 2007, 08:38:33 pm »
I dont thnink it will help (I work with controlled packages all the time), at least I havent noticed it helps.
But loading per package with some default may be a good sugestion.
Recursion definition:
If you don’t understand the definition read "Recursion definition".

thomaskilian

  • Guest
Re: Load big remote-projects
« Reply #3 on: July 29, 2007, 11:53:28 pm »
I meant using only some controlled packages per user/role to avoid loading of the whole model. I haven't tried this and it depends definitely on the way the model is organized. I remember during my Rose days we had lots of controlled packages which we loaded only on demand. I guess EA could do it similarly.

Martin Terreni

  • EA User
  • **
  • Posts: 672
  • Karma: +0/-0
  • Sorry, I can't write
    • View Profile
Re: Load big remote-projects
« Reply #4 on: July 30, 2007, 09:18:12 pm »
I don't know how to make packges controlled by user/role (though if you say it is possible it probalby is), but working with controlled packages still loads ALL packages :(
Recursion definition:
If you don’t understand the definition read "Recursion definition".

thomaskilian

  • Guest
Re: Load big remote-projects
« Reply #5 on: July 31, 2007, 04:30:08 am »
As said: I haven't tried this with EA. In Rose we had single controlled packages which contained certain aspects of the whole model. Then we created role specific models with only some packages included. In Rose it was easy since the non-existing packages were simply greyed out. So per role only a certain set of packages was distributed.

gwieser

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Load big remote-projects
« Reply #6 on: July 31, 2007, 04:59:49 am »
to what i know so far there is no way to limit access on aper user base. security in EA is only used for general access/functionality, but you cannot do access control with it. if you need to stay with one big repository in a database you will be stuck to the performance problems (hope you will nevery use the "synchronize tagged values..." feature of UML profiles on that database because this could take all night).

using import/export feature plus separate and smaller databases for each developer or group of developer might increase performance but leaves you with the problem of keeping all the referenced packages up to date. this COULD be solved but it's definitely not easy to do.

Dave_Bullet

  • EA User
  • **
  • Posts: 295
  • Karma: +0/-0
    • View Profile
Re: Load big remote-projects
« Reply #7 on: July 31, 2007, 01:43:22 pm »
EA has been implemented (from what I can see) to recursively load the hierarchy (branch by branch).  This makes for a very chatty client/server interface.  We also have a huge repository and ours takes upto 30 seconds to open locally (SQL Server 2000 backend).

There are only 2 solutions:
1. Sparx to rearchitect the project load process so that it either:
a) loads on demand (ie. as each package expands).  The initial load depth to be configured by user in one of the options.
b) does a bulk load of all packages then does an inclient memory hierarchy build
c) Implement intelligent client side caching and sync functionality.

I would recommend a) then b) then c) if given the choice of a redesign within EA.

2. Reduce the network latency of the chatty interface.  This means bringing the EA client application as close as possible to the server.  This either means Citrix deployment or terminal services (Remote desktop) connection to another instance of EA running on a machine very close to the DB.

BTW - the depth level on the treeview setting in options doesn't seem to help load performance.

So... unfortunately, 2. is your only option, unless you split your model up (which I don't want to do either), or investigate whether controlled packages might help (which I haven't looked into).

Cheers,
David.
"I know I'm close to a good design, but it's like the balloon animals, squeeze in one spot and the problem moves down the line"

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Load big remote-projects
« Reply #8 on: July 31, 2007, 04:47:34 pm »
Quote
EA has been implemented (from what I can see) to recursively load the hierarchy (branch by branch).  This makes for a very chatty client/server interface.  We also have a huge repository and ours takes upto 30 seconds to open locally (SQL Server 2000 backend).

Actually, the calls made when loading a model are optimized and load the necessary information to construct the project view.  In most cases this is a single query for each table.

Not all areas of EA are so careful, but we do make improvements to various areas over time.

The option for depth level isn't for the project browser.  It's for the hierarchy view.