Top 5 Questions on Pro2, OpenEdge Replication and Change Data Capture - Answered!

October 06, 2020 Application Development, OpenEdge

The OpenEdge team recently hosted “ask me anything” sessions on Pro2 and other OpenEdge add-ons. Here’s the scoop on some frequently asked questions.

I’ve been moderating a lot of our OpenEdge webinars lately, so if you’ve heard me on them, hello! The one thing I have noticed is a few questions that have common themes around OpenEdge Pro2, Pro2 Services, OpenEdge Replication and Change Data Capture. I’m going to try to explain a little more about them in this post by asking some of our talented teammates questions from our customers and partners.

Question 1: What's the difference between OpenEdge Replication and Pro2?

Mike Furgal, director of database services:

There's OpenEdge Replication and OpenEdge Replication Plus, those products were really designed for disaster recovery.

OpenEdge Replication Plus does allow you to do read-only reporting against the database, but really OpenEdge Replication is dependent upon the source and the target being exactly the same. It's got to be exactly the same version, the schemas have to be exactly the same and has to be the same OS platform.

OpenEdge Replication, its first purpose and design is for disaster recovery, reporting is a secondary piece of the puzzle. As for Pro2 replication, its only purpose is reporting, so that's really how I like to differentiate them. Pro2 is the reporting solution. OpenEdge replication is for disaster recovery.

The biggest benefit of Pro2 is that the target schema does not need to match.  OpenEdge applications have an index structure for validation and lookup. With Pro2 the target schema can have additional indexes that make running reports fast.

Marv Stone, principal sales engineer:

I've seen this question in the past. Now we have two different types of replication solutions with OpenEdge. OpenEdge Replication and OpenEdge Replication Plus are both for disaster recovery and only disaster recovery. In the disaster recovery scenario, you can also allow users to connect to that target database for read only purposes.

On the other hand, Pro2 replication is for moving data out of an OpenEdge database into another database for non-disaster recovery purposes. We typically see this for reporting. For example, let's say you want to move data to a data warehouse that's based in SQL. You want to get information out of your OpenEdge database over to the SQL database, and you want to do it very quickly so that people can run reports that are real-time. It's not an overnight dump or an hourly dump or something like that. It's real time or near real time. That's what Pro2 replication does.

That's not disaster recovery. That is strictly if you want to move data from an OpenEdge database to another data source. We can do Pro2 to Pro2, which is moving from an OpenEdge database to another OpenEdge database. But typically, we see it moving data into a SQL database or an Oracle database and for reporting, not disaster recovery.

Question 2: Have you ever seen anyone use Change Data Capture (CDC) outside of Pro2?

Terry Mays, senior manager of engineering:

Absolutely we have. It's similar to OpenEdge auditing, so the ability to capture change events that are happening in the OpenEdge database, and then you write your own application code to crawl those events and for sure that is a real world use case. In Pro2, when 11.7 came out, Pro2 took advantage to basically add another change data capture model to the product, so now  you can  either use trigger based data capture or CDC based data capture, and frankly, you can actually use both. If you were using CDC for some non-Pro2 use, you could still install Pro2 replication triggers, capture those and have basically the best of both worlds if that were necessary.

Question 3: Why would I want to use Change Data Capture (CDC) vs Pro2?

Mike Furgal:

Depending on the version of OpenEdge that you're running, if you're running 11.7, we'd use CDC. Change Data Capture captures all the changes, regardless of how those changes were created. If you're prior to 11.7, then yes, we can use replication triggers. If you're doing an update from PHP or something else that's going to be doing the update via SQL, and those 4GL triggers are not going to fire. What we do, we have a similar mechanism to be able to capture the changes on the SQL side, so we'll do the SQL stored procedures, implement those on the tables that PHP is updating, and that will mimic the activity that the replication triggers are doing.

Question 4: How can we monitor that replication queues are working properly?

Terry Mays:

Within Pro2 there is a job that you can schedule, status check is what it's called. You schedule it every 30 minutes or whatever you think is appropriate for monitoring, and it'll wake up and check the status of all the threads It checks lag time against the threads to make sure that we're getting consistent heartbeats, etc. If you're using Pro2 version 5, just one quick thing here about what we call threads, in Pro2 6.0, threads kind of became a new thing. Every batch process that we run are called threads, where in the old days, threads were really based on replication.

You can have CDC threads, replication CDC threads, job threads, lots of threads now, and status check will validate that all the threads are working, that all threads are receiving heartbeat information, meaning they're not hung up on something somewhere. Then you can get daily alarms or status alarms associated with any of those events going out of whack on you.

Mike Furgal:

Everything Terry is saying is correct, we also have built a managed Pro2 business around this, and we have our Managed Database Administration Service (MDBA) business, where we have 160 customers that have OpenEdge applications that we're doing management of. Of those 160, 60 of them are on our managed Pro2 program, where we have integrated the alerting, management, and  trending, all the information around Pro2 into the dashboard, so people have the ability to go login to the web based dashboard and see not only how their database is behaving, but also seeing how Pro2 is behaving. This obviously comes with our SLA, 24/7 support for if a thread's down and can't restart for some reason, or if there's data problems that can't replicate that, all that gets resolved.

Question 5: How do I get a CDC License? I’ve heard there is one for Pro2, is that correct?

Terry Mays:

If you are an Open Edge 11.7 customer or above and are a Pro2 customer, you are entitled to a CDC license for your database but the license is Pro2 use only. Really what it amounts to is, if you're an existing customer and have migrated to 11.7 or above and you're interested in CDC, it's just a matter of contacting your sales rep. They'll ask you a few questions in regard to the platform/OS/OpenEdge version running your database.

A special thanks to Terry Mays, Mike Furgal and Marv Stone who took the time to answer these questions. If you want to watch the webinars on-demand where these questions were asked: Ask Me Anything: Pro2 for Real Time Reporting and Data Access and The Successful Six: Securing Your Data with OpenEdge Replication + Transparent Data Encryption.

Don’t forget, we have a lot of upcoming webinars and ask me anything sessions scheduled. You can view our schedule by clicking below:

Register today

Susan Koutalakis

Susan Koutalakis has more than a decade of marketing, public relations agency and corporate communications experience, specifically in building and executing public relations, analyst relations, social media, product launches, webinar, customer reference and online marketing programs. Previously, she’s worked for both emerging and established companies with a focus on areas such as application development, mobile, interactive and social media, SaaS, marketing, and eCommerce technologies.

Read next The Key Benefits of CI/CD - Continuous Integration and Delivery