Book a Demo

Author Topic: Reverse Engineer an existing Progress OpenEdge DB  (Read 7930 times)

ramangill

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Reverse Engineer an existing Progress OpenEdge DB
« on: October 15, 2007, 07:12:20 am »
Hi,

I am running EA Architect version 6.5.806 and I am trying to reverse engineer a Progress OpenEddge DB.  The version of the OpenEdge DB is 10.1B.  I have successfully created an ODBC Link to the DB but when ever I run the Import DB from Schema I just sits there forever!!!

So my question is how long should it take and is the right way to do this.  Is there a different way.  I followed the help files extactly!  Please advise

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #1 on: October 15, 2007, 07:18:40 am »
See http://www.oehive.org/node/989

You can't do it with ODBC and OpenEdge.

ramangill

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #2 on: October 15, 2007, 07:24:13 am »
Quote
See http://www.oehive.org/node/989

You can't do it with ODBC and OpenEdge.


Why not?  There is a Proress ODBC driver that allows you to use the ODBC connection.

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #3 on: October 15, 2007, 07:30:10 am »
I don't know the technical reason ... and we can hope that continuing cooperation between PSC and Sparx will change it, but as of today, that is simply the way it is.

Note also that the process described here http://www.oehive.org/node/952 for using an OpenEdge database as a repository still has some issues.  PSC and I are working with Sparx to figure it out and the solution will appear there when it becomes available.

You might also find this project http://www.oehive.org/UMLFromABL of interest.  We are about 2 months at a guess from having product available.

ramangill

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #4 on: October 15, 2007, 07:33:26 am »
Quote
See http://www.oehive.org/node/989

You can't do it with ODBC and OpenEdge.

Oh ya, All I am trying to do is that a client is using a Progress DB without about 300 tables and I just wanted to create a DB Model to that we have it documented and then work on engineering it to Oracle 10g/11g.

Pretty basic stuff to be honest.  Does this help.  I don't think I need to use it as a repository.

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #5 on: October 15, 2007, 07:41:21 am »
Follow the first link I gave you.  That will allow you to build an EA model from a .df

I will have another tool available in a few weeks that will do this directly into the repository using ABL and it will be somewhat more complete and follow the UML Profile for ABL.  But, I need to get OpenEdge working for the repository first and there are some revisions pending for the Profile.

ramangill

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #6 on: October 15, 2007, 08:10:51 am »
Quote
Follow the first link I gave you.  That will allow you to build an EA model from a .df

I will have another tool available in a few weeks that will do this directly into the repository using ABL and it will be somewhat more complete and follow the UML Profile for ABL.  But, I need to get OpenEdge working for the repository first and there are some revisions pending for the Profile.


Thanks for the help.  Seems like things were going good until I hit this error and now it just hangs there and there seems to be no way to skip it or cancel it.  This is the output from the log file.

{10/15/2007 1:09:38 PM} - Index - newprimary on table - actual_subsc
{10/15/2007 1:09:38 PM} - Exception by Void addTable(EA.Package, System.String) - Index was outside the bounds of the array.

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #7 on: October 15, 2007, 08:36:29 am »
Sorry ... I can't help since I didn't write it and don't have the source.  I have written to Phillip Magnay at PSC to let him know about the problem.

The only suggestion I can make is to try breaking up the .df into pieces.  The technology will handle incremental .dfs, so you might get there by doing it in pieces or at least be able to isolate the problem.  I would do everything up to the table before the one cited, then everything after that table, then that table on its own.  If it just turns out to be something peculiar about that table, it should both tell us more about the issue and might bring it down to the point where hand-entering the missing bit is an acceptable amount of work.  Not pretty, but it might get you moving.

The only other option will be the routine I will be publishing one of these weeks ... as open source, btw ... but that will be using an OpenEdge database for the repository (so that needs to work first) and the initial version will be written in ABL.

erwin_glassee

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #8 on: December 19, 2007, 04:41:21 am »
{10/15/2007 1:09:38 PM} - Index - newprimary on table - actual_subsc
{10/15/2007 1:09:38 PM} - Exception by Void addTable(EA.Package, System.String) - Index was outside the bounds of the array.


I experienced the exact same problem (3 databases here with in total over 1000 tables). The problem is generally caused by something like
 ADD TABLE ...
 DESCRIPTION "
  "
in the .df file. If you do a small edit to the .df file and remove the line break between the quotes, it works. If you have a lot of those, time to fire up your favorite regex-capable text file editor (or awk, of course)

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #9 on: December 19, 2007, 10:08:58 am »
FWIW, I am currently writing a new utility for populating an EA repository from the data dictionary.  Should only be a few days.  It will bring across a much more complete model than the existing utility.  Stay tuned here http://www.oehive.org/UMLFromABL

erwin_glassee

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #10 on: January 07, 2008, 11:30:04 am »
Now if only Sparx would drastically improve the performance of XMI export to my version management system ! Exporting the result to version management takes ages so I'm not so sure I will be happy with a more complete model. Could you provide a few options for avoiding the import of some non-essential stuff into the model ?

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Reverse Engineer an existing Progress OpenEdge
« Reply #11 on: January 07, 2008, 11:57:22 am »
The code will be open source, so you will be able to tailor it to taste.  Currently, it is oriented toward the use of an OpenEdge database for repository, which could provide you with some alternate approaches for version control, depending on what you are wanting the version control to do for you.  The database part is done, but not published and I am working on the part for ABL code right now.  Soon.