Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

 
AshokG
Occasional Visitor

Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Hi,

My company has a very old legacy application written in DIBOL programming language and is used through telnet by the end users. This application is still using the old character user interface. Now my company wanted to give this a graphical user interface. What, I want to do is develop a web application which will use/call the legacy DIBOL application's business logic at runtime. I want to expose the business logic written in this application through a web service so that I can call from my web application. The web application then can be used from any browser like Explorer, FireFox etc.

The new web applicaion will be developed in language other than DIBOL like Java, C++ etc. which runs on OpenVMS OS and has the Web services capability.

So is there a to call DIBOL application procedures/routines from Java or C++ langauge running on OpenVMS?

Regards,
Ashok
15 REPLIES 15
The Brit
Honored Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ashok
you should contact

http://www.synergex.com/About_Us/contact_us.aspx

These are the people who currently own DIBOL. I expect that what you want is available, but it don't come free.

Dave
Martin Vorlaender
Honored Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ashok,

if DIBOL adheres to the OpenVMS calling standard (see http://h71000.www7.hp.com/doc/82final/5841/5841pro_051.html#call_std ), it should be easy to call DIBOL routines from any other programming language. You best ask Synergex about it.

HTH,
Martin
Hein van den Heuvel
Honored Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

You may also want to investigate the CBL - DIBOL to C Converter.
This is a commercial product from our friends at Migration Specialties ( Bruce Claremont ).
http://www.migrationspecialties.com/CBL.html

Dibol programs may well use overpunched intergers, which are a bit of a drag to deal with. Nothing really complex. Just tedious.

If the major concern is just access to data in RMS files, then you may be able to modernize in a evolutionary way by providing ODBC data access to the RMS based file through product link CONNX, Attunity, and so on.

Using those tools you could re-implement possible few, but frequently used programs using modern tools, leaving the bulk of the programs, many with low end user visibility such as reports and batch job, native on the OpenVMS system.


Good luck!
Hein
AshokG
Occasional Visitor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Thanks to you all for your valuable reply.

Dave, it looks Synergy's tools are very much commercial which may not fit into my cost at this time depending on the application type.

Martin, this solution should work for me but I don't know about calling conventions of DIBOL. I'll try posting this the question to Synergy.

Hein, at this time I don't want to convert into another programming language. But this also looks a good alternative too. My application has business logic embedded in the source code so I should use the application routines at runtime instead of direct data access.

Thanks to all again.
Ashok
Steve Reece_3
Trusted Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

You might like to drop a line to Generix here in the UK. They have various tools for web enabling green screen applications which sound like they'll do exactly what you want.
You may be able to roll your own with something like ACMS, but with the development time involved for you and your colleagues, you might do better looking for the ready made solution.
Generix's web address is http://www.generix.ltd.uk/

Steve
Doug Phillips
Trusted Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Is this DIBOL or DBL? If VAX, then you could have either. If Alpha or IA64 then it would be Synergy/DBL.

Both DIBOL and DBL conform to the VMS calling standards, use ^DESCR (by descriptor) as default, and also allow arguments to be passed by ^VAL, ^REF or ^XTRNL. They can call and be called from any of VMS' other conforming, compiled languages.

Synergex has stuff that can do what you want but (as has been said) you'd have to spend some money. Synergex also offers a Client-Server product, too (available for $$).

You didn't mention which web-server you plan to run on the VMS system or if you even plan to run one there. You'll need to connect somehow to the VMS system, but on what level? If you're running on a VAX then finding supported tools will be much harder.

Terminal emulators like Reflection are browser friendly if you want to keep the character-cell UI within the D*B*L programs and just open them up in a browser from your non-VMS web-server.

If your screen I/O isn't too complex or convoluted, you could even use or write a screen-scraper to interface with your D*B*L programs if you must go GUI.

How you can accomplish what you want depends on how and where your services reside, what data you need to pass between the different environments, what expectations you have about the UI and how modular the code is or how modular you can make it. And, of course, your budget.

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ashok,

"If Dibol adheres to the OpenVMS calling standard" you might be able to use WSIT (HP Web Services Integration Toolkit) which is free with OpenVMS. We use this in conjunction with OpenVMS Apache Tomcat/Axis to provide web access to our BASIC logic. But, you will need to wrapper/massage your Dibol routines to use it. It's not a screenscraper so the Dibol can't contain any UI.

Kerry
RichardSynergex
Occasional Visitor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ashok,

Synergex offer a complete solution to expose DIBOL routines executing on the OpenVMS platform to your chosen client using a product called xfServerPlus. xfServerPlus has a number of available clients include Java and Microsoft .NET. After installing the required xfServerPlus package and configuring it to expose the required DIBOL routines (within a shared image) you can then make calls directly to the routines from your chosen client. The calls are coded in the native language of the client, for example in VB.NET or C# if utilising the Microsoft .NET client or Java if using an OpenVMS or UNIX based development environment.

Given your scenario you have two options: Option (1) would be to develop a Web Service executing on the OpenVMS platform that uses the Java client and make calls through xfServerPlus to your DIBOL routines. However, option (2) would be to call the DIBOL routines directly from your web application and remove the requirement/overhead of a Web Service interface.

Visit www.synergyde.com and search for xfServerPlus for more details.

Richard
AshokG
Occasional Visitor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Thanks again to all

Kerry, I find your solution interesting to me and looks right for my problem.

My DIBOL application is using Synergy compiler. Indeed we can say it is Synergy/DBL language. It also requires a runtime to run the application. I don't know why? I thougt it only need compiler and linker etc. but it needs runtime as well, which I didn't understand. Synergy has a runtime fee based on the number of connections.

As Doug said if DIBOL conforms to VMS calling standards (I really don't know now but I'll inquire this with my programmer), how can a non DIBOL language can call DIBOL routines in a web-service?

I looked into HP WSIT and Apache/Axis etc too. It see any of them can work for me to develop web service interfaces to expose DIBOL routines to outside and call from.

What I'm thinking here is... Is there anyway to run DIBOL routines without Synergy runtime? What my undetstanding was an executable is executable run my the VMS why it need a runtime.

Any insight in this is appreciable.

Richard, I visited Synergy site and found very interesting tools (xfServerPlus etc.) which makes my job very easy. I appreciate the tool power. But at this time I'm not in a position to take decision to go for it. That is my last resort suggestion that I can suggest for my co. I may also need to demo it to my team and show the costs etc.

Please advise.

Regards
Ashok

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ashok,

The Synergy run-time may just be a shareable library (a .exe file but similar to a windows .dll file), BASIC has one (BASRTL). With WSIT your code also sits in a shareable library that is dynamically loaded when WSIT creates the server process. When you link your shareable library you would need to refer to the Synergy runtime to resolve any dependencies. I've only come across Dibol is passing many years ago when still in DEC ownership (I believe). You will need Synergy to let you know if this is possible. You could possibly check the Synergy runtime using analyze/image assuming it is a .exe. I expect you will require Synergy's help with your project at some point whichever way you choose to go so I would talk to them. Having said that WSIT works very well for us.

Regards

Kerry

Doug Phillips
Trusted Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ashok,

To be clear: Synergy/DBL *does* adhere to OpenVMS calling standards. It does use a shared run-time library. You link your programs (which you've made into subroutines or functions) to your main language-X program and include SYS$SHARE:SYNRTL/OPTIONS in your link command.

You call a DBL routine from another language the same way you call other languages. The programmer must know how arguments, if needed, are passed to/from the routines and pass them accordingly.

It's all in the manual.

You can't run DBL without its run-time library; you can't run any other language that uses a shared run-time library without its library. DBL also has a message manager that must be started if your programs use it.

Going with xfServerPlus will change the way your licensing works (I don't remember how; I don't currently have a need for it)

Synergex will answer your questions about licensing and costs, and/or put you in contact with a reseller in your area, and you can decide whether using xfServerPlus is best for you or not.

-Doug
Jon Pinkley
Honored Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ant67
Occasional Visitor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Hi,

You may also want to take a look at www.connx-net.com

Regards,

Ant
Mike Iannotti
Occasional Visitor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Reviving an old thread here...

Would anyone here be interested in a new DiBOL Developer job? I have a client with a permanent opening. I'm sure they'd also consider a contract component if that's what it would take to get someone in there.

If you're at all interested in hearing more, or know anyone (anyone!) who might be, please do reach out.

*fingers crossed*
Jean-François Piéronne
Trusted Contributor

Re: Calling DIBOL program from a Web Service on OpenVMS (VAX/Alpha)

Ashok,

On Alpha and Itanium, but not on VAX we have doing similar thing using Python (http://www.python.org/ or http://www.vmspython.org/) and WASD (http://wasd.vsm.com.au/) as web/application server. We have used Flex (http://www.adobe.com/products/flex/)on the client side for some projects.

What we have done (server side):

1. Build shareables with the current code.
2. Use the ctypes module (http://docs.python.org/library/ctypes.html) to call our routines included in the shareables.

We have used the Django framework (http://www.djangoproject.com/), but it's not mandatory, just very useful...

JFP