Steps required for Migration

shireeshn

Member
we are now in Character based we want to migrate to latest version of OE.

can any one suggest me the steps or analysis involved in migration to latest version


The customer requirement

Object Oriented design along with SOA architecture is a MUST


and he is asking to have
Progress /.NET

Iam very much scared, I have good hands on Progress 4GL. but .NET I don’t have touch is .NET language is necessary to learn.


Please suggest me.


Thanks in advance.
 
Basically I have a problem when a customer tries to dictate desing decisions. Alhtough I have to admit that a SOA architecture might be a good way to go for many applications ...

This would be an example for a transformation project. Something like this is not a trivial step. And personally I made the experience that the amount of re-usable things is a lot lesser than one expects. So I would think you will end up with a new application just leveraging the know how on which your current application is based (unless it's hidden in the code ...).

Going from V6-V8 style CHUI client/server to SOA including a .NET UI:
  • Any SOA architecture will be based on the OpenEdge AppServer
  • Make yourself familiar with the use of the OOABL enhancements
  • Make yourself familiar with the use of the ProDataSet.
For the .NET UI you have basically more than one choice:

  1. Using OpenEdge 10.2A+ and the .NET UI capabilities provided with it. As I have no experience with that I can't make a pros & cons recommendation for it - although I don't like the idea of it ...
  2. Using a full blown .NET UI (by full blown .NET UI I mean one that was developed using the Microsoft Visual studio) you can use the .NET open client technology to talk to the AppServer.
  3. Either way you could also choose to use WebService technology to have the UI talk to the AppServer.
  4. A choice that does not come to my mind right now - something like pure socket programming for example ...
HTH, RealHeavyDude.
 
It's a huge project. Presumably the customer is making it worth your while ;)

The first step though is easy. Just upgrade to OE10.2. That provides the technical foundation for everything that your customer wants. Your existing code will run fine and once you are on a suitable Progress release you can get into the gory details of transformation.
 
Exp always counts, u may already come across this type of problem and you may already done some analysis and u have good hands on this type of problems.

If u can frame those words into steps in genric way.

Situation
======
Normally what u will do when u got this situation like Char mode and u want to migrate to OE, and make this db to Distrusted environment what analysis u will be doing?

I dont know others, i will follow the steps given by greate people.

Advices are always welcome.

Thanks in advance.
 
"Learning .NET" is not a language issue. It is an API issue. .NET examples in C# are very nearly identical to the code that you would write to do the same thing with 4GL. What you end up learning is the properties and methods of a specific set of controls. Progress supports the Infragistics controls but you could just as easily use some other set of controls. How you write programs doesn't change -- but the gory details regarding what methods and properties you call to achieve your goals will change.

Step #0: Somebody needs to be thinking seriously about "architecture and design" -- you can't just dive into this and hope to succeed through heroic effort and blind luck. Well, you can do that but I wouldn't suggest betting very much on it working ;)

Step #1: Upgrade your current environment to OpenEdge 10. Convert your databases and recompile your code. You can continue doing everything that you are currently comfortable with. You do not have to change anything.

Step #2: Learn to use OE Architect. You do not have to redesign your application nor adopt OO nor use .NET to do this.

Step #3: Learn about the new OO 4GL capabilities. If you choose you can start to introduce some of these features into your code base. It is entirely possible to mix standard 4GL with OO 4GL. You need to understand OO before you start messing with .NET.

Step #4: Now you're ready to investigate .NET controls.
 
  1. Desing the application inside/out. Do not begin to desing a fancy UI - you will wind up having UI dependencies in your database ...
  2. Spend enough time on gathering new requirements - there will always be new requirements because that's why you were asked to migrate in the first place. If there are no new requirements, don't migrate for the sake of technology.
  3. Think about the architecture - be it the OERA or MVC patterns. Even if you are not fully compliant with them, understanding them will help you a lot to customize these approaches to suit your needs.
  4. I would strongly suggest you to use state-of-the-art design tools to create models, preferable in UML. The value of having this models built up front, regardless whether you are able to fully use them for forward engineering or not, is so great that, after you've done it once you wouldn't want to do it again without, IMHO.
  5. Don't try a big bang, develop in iterations! From my experience you will end up in desperation and whoever is funding your development will be breathing down your neck seeing the first results which then will, once shown to the stakeholders, pin you onto them. I would pick a module of the application that has fairly complex business processes behind it but it is not so large that it takes ages to build it. This will have many advantages: You can learn as you go - remember nobody has fallen from the sky being perfect in doing something for the first time - and you have something functional that you can present to the stakeholders. (There is nothing that beats pleasing the stakeholders to get them in your camp when your project is in question.)
Just MHO, RealHeavyDude.
 
You've gotten some good advice; let me add a few words.

Start here to get a context
http://www.cintegrity.com/content/Transformation-and-Modernization-Strategies

There are many different possible paths to accomplish what you describe. Determining a clear goal before you start is essential to making sound choices about the path and technique.

In particular, you need to make sure to partition the problem into manageable, testable steps. As Tom says, the obvious first one is to get on a modern version of Progress since that is easy and opens the door for lots more.

Then you need to decide what comes next. Moving to SOA can make a later change of UI easier, but often the change in UI is perceived as being more important. If you do the UI first, you should convert the existing app as is, no functionality changes. That gives you a test point. Try doing both at the same time and you may never finish!

Converting the UI of any sizable application is a huge and expensive job. Doing an architectural change like SOA is equally huge and expensive. Good planning can keep it from being purely additive, i.e., one can help make the other easier.

You probably should be considering what you can accomplish with tools. I have been researching this area and would be happy to work with you, if you would like to cut 50% or more from the cost of the project and, in all probability, depending on the tool, end up with a much higher quality result than one can possibly do by hand.
 
Back
Top