Sie sind auf Seite 1von 42

Development Environment

Harish Parthasarathy
OpenVMS Engineering

Surya Kumari
OpenVMS Compilers Team

1 ©2010 Hewlett-Packard Development Company, L.P.


Agenda
Traditional Environment
• HP DECset

Modern Environment
• Development Tools
• Web Server/Browser
• App Server
• Integration Tools

Common Tools
• Compilers
• Debugger

Q/A

2 ©2010 Hewlett-Packard
©2010 Development
Hewlett-Packard Company,
Development L.P. L.P.
Company,
Traditional Tools – HP DECset
Code
Management
( CMS )

Testing Editing
(DTM) (LSE)

Environment
Manager

Performance Source Code


Analysis Analysis
(PCA) (SCA)

Building
(MMS)
3 ©2010 Hewlett-Packard
©2010 Development
Hewlett-Packard Company,
Development L.P. L.P.
Company,
HP DECset for OpenVMS
• Current version
• DECset V12.8 ECO2 for OpenVMS I64 & Alpha
− Provide full ODS-5 Disk Structure Support
− Large Library support with CMS
− Implement JAR file support in CMS
− /BINARY

4 ©2010 Hewlett-Packard Development Company, L.P.


Application Modernization – Why?

Improved Agility – Quick adoption to changing business needs

Integration with newer environments

Skill Crisis

Reduced TCO

5 ©2010 Hewlett-Packard Development Company, L.P.


Modern Development Environment
• WSIT • IDE
• gSOAP • GNV
• Axis2/JAVA, SOAP • JAVA, ANT
• UDDI Client toolkit • PERL, PHP, XML
• TPware/TPware .NET
• Attunity Connect®
• CONNX®
• Oracle Tuxedo
App
Integration App Dev Tools
Tools

Web
Application
Browsers/
Servers
Servers

• CSWS Java (Tomcat) • Firefox
• JBOSS • Secure WB/ SeaMonkey
• PROIV® ( formerly Concerto ) • Secure Web Server (Apache)
• CSWS Java (Tomcat)

6 ©2010 Hewlett-Packard Development Company, L.P.


App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

Integrated Development Environment (IDE)


Ease of use

• Desktop used for developing OpenVMS applications

Improves Productivity

Examples

• Distributed NetBeans, NXTWare Remote (Eclipse Based from


eCube Systems)

7 ©2010 Hewlett-Packard Development Company, L.P.


Distributed NetBeans
App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

OpenVMS Server
Desktop Machine

IDE
Server
DNB
Debug
plug in Server

Compile,
RMI @com,
etc

User

Desktop Server
file OpenVMS
system FTP/CIFS file
system

• Editing with Syntax highlighting


• Remote Compilation/ Execution
• Error Navigation
8
• Remote Debugging
©2010 Hewlett-Packard Development Company, L.P.
Distributed NetBeans for OpenVMS
App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

Current Version - Features of Version 6.5.2


• WSIT Support
• Java 6.0 Support

Version 6.5.1
• This is porting of the NetBeans 5.5 plug-in to NetBeans 6.5
• All the features of NetBeans 6.5 is same as of NetBeans 5.5

Native NetBeans
• NetBeans 3.6 will be supported over the support life of OpenVMS 8.3
• Only supported on Java Platform, Standard Edition, Development Kit
(JDK) v 1.4.2-x. Media Distribution

9 ©2010 Hewlett-Packard Development Company, L.P.


GNV
App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

GNV – GNU is Not VMS Provides:


• Unix like environment
• Bash Shell
• Commands ls, cp, su, …
• Utilities tar, make, vi, cc, …
• Man pages
• Special OpenVMS utilities mnt, umnt, …

General Information
• Latest sources available in sourceforge.net
• Available for both OpenVMS Alpha as well as IA64
• Current version – 2.1-3
• Future Plans:
• Support for more commands and utilities
• Upgrading some of the existing supported tools

10 ©2010 Hewlett-Packard Development Company, L.P.


JAVA for OpenVMS Alpha & Integrity
App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

JAVA 6.0 (only available on Integrity)


• JDK and JRE 6.0 available on OpenVMS Integrity
• Large JAVA Heap support, upto a max of 32GB

JAVA 5.0
• JDK and JRE 5.0-6 available for OpenVMS Alpha
• JDK and JRE 5.0-5 available for OpenVMS Integrity

JAVA 1.4.2
• Supported on Integrity and Alpha
• Encouraged to migrate to 6.0 or 5.0

11 ©2010 Hewlett-Packard Development Company, L.P.


XML and PERL
App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

XML Technology
• based on Apache Xerces and Xalan.
• Supports JAVA and C++
• XML Java Technology Version 2.0 for OpenVMS Alpha & I64
• based on Apache Xerces-Java Version 2.3.0 and Apache Xalan-Java
Version2.4.1
• XML C++ Technology Version 3.0 for OpenVMS Alpha & I64
• based on Apache Xerces C Version 2.7.0 and Apache Xalan C Version
1.10.

PERL
• V5.8-6 Update 2.0 for OpenVMS Alpha and OpenVMS Integrity
• Fixes for security vulnerabilities

12 ©2010 Hewlett-Packard Development Company, L.P.


ANT
App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

ANT v1.7
• Runs on OpenVMS Integrity server Version 8.2 and higher
• Runs on OpenVMS Alpha Version 8.2 and higher.
• Java-based build tool, similar to “make”.
• Port of Apache Ant 1.7 to the OpenVMS environment.

13 ©2010 Hewlett-Packard Development Company, L.P.


App
App Dev

Secure Web Server


Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

SWS 2.1-1 Update 2 (Apache 2.0.52)


• Fixes for Security Vulnerabilities
• Support for Mixed case password authentication
• Performance Improvements
CSWS_PHP V2.1 (PHP 5.2.6)
• Supports extensions/modules supported in PHP1.3.
• No new extensions/modules in PHP2.1 though it is based on open source
version 5.2.6.
CSWS_Perl 2.1 ECO1 patch kit (mod_Perl 2.0.1)
• Helps in writing apache modules in Perl
CSWS_Java (Based on Tomcat 5.5.26 ) 3.1
• Works with Secure Web Server Versions 1.3-1 and 2.1 and higher.
• Does not work with SWS V2.0
• Support for JAVA 6.0 in Update 1 patch on Integrity
14 ©2010 Hewlett-Packard Development Company, L.P.
Secure Web Browser
App
App Dev
Integratio
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

Firefox Web Browser


• HP Firefox Web Browser V2.0-18 based on Mozilla Firefox V2.0.0.18
• Available only on OpenVMS Integrity

Secure Web Browser (based on SeaMonkey)


• Secure Web Browser V1.1-12 based on SeaMonkey V1.1.12
• Available on OpenVMS Integrity and Alpha

Secure Web Browser (based on Mozilla)


• V1.7-13 based on Mozilla 1.7-13
• Available on OpenVMS Integrity and Alpha
• Mozilla on OpenVMS retirement by Feb 2010

15 ©2010 Hewlett-Packard Development Company, L.P.


App
App Dev
Integratio

Application Servers
Tools
n Tools

Web
Applicatio
Browsers/
n Servers
Servers

CSWS JAVA (Tomcat) 3.1


• Support for Tomcat 5.5.26
• Works with Secure Web Server Versions 1.3-1, 2.1 and higher.
• Does not work with SWS V2.0

JBOSS
• JAVA EE based Application Server

PROIV® ( formerly Concerto )


• Current version 6.2.43 for Alpha(V8.2-V8.3) & IA64(V8.2-1-V8.3-1H1)
• Website ( www.proiv.com )
16 ©2010 Hewlett-Packard Development Company, L.P.
WSIT– In a Nutshell
App
Integratio App Dev
Single non-java n Tools Tools

module Applicatio
Web
Browsers/
n Servers
exposing legacy Servers

code
Browser
Single OpenVMS
Command line System

Original
Wrapper
WSIT WSIT (Legacy)
POJO exposing
generated generated Application
JSP (Plain Old new
Java bean server (C/BASIC/
Java Interface
Object) wrapper (XX.OBJ)
COBOL/
FORTRAN )
OBJ2IDL.EXE
IDL2CODE.JAR
Web
Web
service XML IDL
service
client

= Newly written code

= WSIT generated
17 ©2010 Hewlett-Packard Development Company, L.P.
App

WSIT
Integratio App Dev
n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

Current Version - V3.0 Features


• Automatic stack expansion for single threaded applications
• Option to install the WSIT runtime only
• New log file
• Tracing Feature
Further information :
• OpenVMS Technical Journal article by David Sullivan
• http://h71000.www7.hp.com/openvms/journal/v7/reusing_openv
ms_applications_from_java.pdf
• http://h71000.www7.hp.com/openvms/products/ips/wsit/

18 ©2010 Hewlett-Packard Development Company, L.P.


App
Integratio App Dev

Axis2/JAVA and SOAP


n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

Axis2 Version 1.0 (Port of Apache Axis2 1.3)


• Core engine for web services
• Redesign of the Apache Axis SOAP stack
• Replaces SOAP toolkit for OpenVMS
• Support for only Axis2/JAVA

SOAP (Simple Object Access Protocol)


• Lightweight protocol based on XML
• Exchange structured information in decentralized, distributed
environment
• SOAP toolkit Version 2.0 for OpenVMS Alpha & I64
• Based on Apache Axis Version 1.1

19 ©2010 Hewlett-Packard Development Company, L.P.


App

gSOAP
Integratio App Dev
n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

What is gSOAP
• Cross-platform open source C and C++ software development toolkit for
SOAP Web Services and XML-Based Applications
• Over 150,000 downloads since 2003, over 5,000 mailing list members,
and thousands of license/support agreements with companies

Why gSOAP
• Portability
• Stability 2265 round-trip calls per second on a 2-CPU 1.4GHz
Itanium2 system running Linux 2.6.9 IA64
• Flexibility Measured with 2.2KB XML messages over HTTP
• Small footprint
• High-performance

Usage
• Implement Web services
• Call Web services from “legacy” 3GL code
20 ©2010 Hewlett-Packard Development Company, L.P.
gSOAP – implement Web services
App
Integratio App Dev
n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

Server
• Can be used on OpenVMS to Code with
– Implement Web services RPC
implementation
return Call
C/C++ Input Generated
header file gSOAP soapcpp2
RPC
compiler Skeletons

client
gSOAP request
runtime lib service
response
– Create a C/C++ header file containing the necessary data type and
service (function prototype) definitions
– Use soapcpp2 to generate stubs and skeletons
– Link generated code and gSOAP runtime with existing (or new) application
code
http://www.cs.fsu.edu/~engelen/soap.html

21 ©2010 Hewlett-Packard Development Company, L.P.


App

gSOAP – call Web services


Integratio App Dev
n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

Client
• Can be used on OpenVMS to Code with
– Call Web services RPC
implementation
Input
Call return
gSOAP wsdl2h Generated Input soapcpp2
gSOAP Generated
compiler header file compiler RPC
stubs service
response

WSDL gSOAP client


– Use wsdl2h to convert WSDL to C/C++ header file runtime lib request
– Use soapcpp2 to generate stubs and skeletons
– Develop client application
– Link client application with generated code and gSOAP runtime
http://www.cs.fsu.edu/~engelen/soap.html

22 ©2010 Hewlett-Packard Development Company, L.P.


App

gSOAP on OpenVMS
Integratio App Dev
n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

Major components ported to OpenVMS


(Alpha and IA64)
• soapcpp2.exe
• wsdl2h.exe
• Object libraries (runtime libraries)

Current version – 08

Availability

• Download from http://gsoaponopenvms.blogspot.com/


23 ©2010 Hewlett-Packard Development Company, L.P.
App

UDDI Client Toolkit


Integratio App Dev
n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

UDDI Client Toolkit


• Universal Description, Discovery and Integration
• Service discovery protocol
• Based on UDDI4J Version 2.0.2

24 ©2010 Hewlett-Packard Development Company, L.P.


App

Other Integration Tools


Integratio App Dev
n Tools Tools

Web
Applicatio
Browsers/
n Servers
Servers

Attunity Connect ®
• Access to data regardless of location
• Simple, easy to use APIs

CONNX® (for RDB)


• Provides secure, read/write access to Oracle RDB databases on
VAX, Alpha and Integrity

Oracle Tuxedo ®
• Transaction Processing monitor

TPware/TPware .NET (ACMS Only)


• Ability to make ACMS calls from desktop or web applications
25 ©2010 Hewlett-Packard Development Company, L.P.
Common Tools – Compiler &
Debugger Update

26 ©2010 Hewlett-Packard Development Company, L.P.


Compiler Migration at a glance
Alpha Porting Integrity
Compiler Version Action Version
C V6.5 Ported V7.3
C++ V6.5 New from Intel V7.4
Fortran 77 Not Ported
Fortran 90 V7.5 Ported V8.2
COBOL V2.8 Ported V3.0
BASIC V1.5 Ported V1.7
Pascal V5.9 Ported V6.1
Java V1.4.2 Ported V6.0
Ada 83 Not Ported
Ada 95 New from ACT
Amacro IMacro Created
BLISS V1.011 Ported V1.012
Macro64 Not Ported
IAS Available V7.0 (7.00.4160)
DIBOL Ported by Synergex
Acucorp Cobol Ported by Acucorp
PL/I Not Ported RTL Available
27 ©2010 Hewlett-Packard Development Company, L.P.
HP C For OpenVMS

Current version
• C V7.3 ECO for OpenVMS I64
• Problem with /POINTER_SIZE =LONG rectified

V7.3 Features

• Multiple versions coexist


• New option for /POINTER_SIZE=LONG (=ARGV) – IA64 Only
• Fixes for issues related to /OPT & /NOOPT

28 ©2010 Hewlett-Packard Development Company, L.P.


#include <stdio.h>
HP C++ For OpenVMS #include <cxx_exception.h>
void generateACCVIO()
{ *((int*)0) = 0; }

int main() {
cxxl$set_condition(pure_unix);
Current version try {
generateACCVIO();
• C++ V7.3 for OpenVMS Alpha }
catch(...) {
V7.3 - New Features puts("caught");
}
• Multiple Version Support }
• pure_unix – Process wide exception processing mode
• Symbol DEBUGGING in top level unnamed namespaces
• /EXPORT_SYMBOLS and __declspec(dllexport)
• /POINTER_SIZE=LONG=ARGV
• Bug fixes

29 ©2010 Hewlett-Packard Development Company, L.P.


HP C++ For OpenVMS Cont… struct S void foo() {
{ throw;
union return;
{ }
long lVal;
Current Version };
S();
int main() {
return 0;
};
• C++ V7.4-004 for OpenVMS I64 return 1;
}
S::S()
V7.4-004 - maintenance release {
this->lVal = 0;
}
• Multiple fixes for /EXPORT_SYMBOLS
• /DEBUG=ALL & /DEBUG/OPT crash issue resolved
• Compiler failed to emit CODEUNREACHABLE
• Bad code generation for names that differed only by case
• More bug fixes… // a.h line 74
static const int SERVICE_ATTR = 39;
and
// b.h
int service_attr(long id)

30 ©2010 Hewlett-Packard Development Company, L.P.


HP FORTRAN For OpenVMS

Current version
• Fortran V8.2 for IA64 and Alpha

New Features in V8.2


• /ALIGN=COMMON=PAD_ALIGN_SIZE qualifier
• /ASSUME=64_BIT_STRING_PARAMS
• Bug Fixes
NOTE: To be used with caution as it can have
unexpected side effects.

31 ©2010 Hewlett-Packard Development Company, L.P.


HP COBOL For OpenVMS

Current version
• COBOL V3.0 for OpenVMS IA64 and COBOL V2.9 for Alpha

Bug Fixes in V3.0 e.g. ADD 1 to CTRL1,CTRL2,CTRL3


slowed down the application
• Performance improvements considerably compared to using
3 individual ADD statements.
• Issue related to compound ADD statement
• COBRTL performance problem with DCOB$CALLED (COBOL CALL
statement on IA64)
• Alignment faults fixed in compiler improved compile time by 25% for a
customer app.
• Packed Decimal support routines on I64 On an average 45% improvement
has been observed for some
programs using these routines

32 ©2010 Hewlett-Packard Development Company, L.P.


HP Pascal for OpenVMS

Current version

• Pascal V6.1-123 ECO for OpenVMS IA64

New Features in V6.1


• /CDD_QUAD_TYPE=keyword qualifier added
• Control how %DICTIONARY directive translates quad/octa word
sized items in CDD dictionary
• /IDENT=ident-string qualifier added
• /PEN_CHECKINSTYLE=keyword qualifier added

33 ©2010 Hewlett-Packard Development Company, L.P.


HP BASIC For OpenVMS

Current version
• BASIC V1.7 for OpenVMS IA64 and Alpha

New Features in V1.7


• No alignment fault for unaligned parameters passed by reference
• Diagnostic messages improvement

BASRTL fixes
• Reduce record-not-found exception overhead with file I/O on IA64

34 ©2010 Hewlett-Packard Development Company, L.P.


HP BLISS For OpenVMS

Current Version
• BLISS V1.012 for IA64
• BLISS V1.011for Alpha

Changes in V1.01*
• The /VERSION qualifier has been added.
• An updated GEM code generator
• Other fixes

35 ©2010 Hewlett-Packard Development Company, L.P.


DIBOL

General Information

• Synergex Synergy/DE is DIBOL compiler on OpenVMS, both Alpha and


IA64
• Designed to be 100% source code compatible
• Millions and millions of lines of code ported with no changes required

36 ©2010 Hewlett-Packard Development Company, L.P.


Ada For OpenVMS

GNAT Pro 6.3.1 (Ada) OpenVMS for IA64 and Alpha


• Support for Ada 2005,Ada83 and Ada 95
• Compatible with HP Ada on OpenVMS Alpha and VAX
• Porting guide for migrating application to Integrity
• Comprehensive GNAT Pro toolset and libraries
• Debugging via OpenVMS Debug
• sales@adacore.com , www.adacore.com

HP Ada
• Ada 83 compiler for OpenVMS Alpha and VAX are mature products
• HP Ada V3.5A for OpenVMS Alpha and VAX
• HP Ada not being ported to Integrity

37 ©2010 Hewlett-Packard Development Company, L.P.


Debugger Update

Latest Releases
• V8.4
• VMS83A_DEBUG-V0200
• VMS83I_DEBUG-V0300, VMS831H1I_DEBUG-V0200

Fixes
• Performance Improvements
• Thread view in DECWindows GUI
• Exiting debugger taking time (Mostly FORTRAN applications)
• Setting a breakpoint in C++ taking time (I64 only)
• Debugger displays wrong array bounds
• Examine of Boolean values in Pascal programs incorrect
• Problems with C++ traceback support
• Many other fixes (Refer to Release notes)

38 ©2010 Hewlett-Packard Development Company, L.P.


Future Plans

Application Development – Compilers and


Future Releases:
Deployment
• Fortran V8.3 Tools
(Integrity and Alpha)
• Basic V1.8 (Integrity and Alpha)
• C V7.4 (Integrity and Alpha)
• Pascal V6.2 (Integrity and Alpha)
• DECset V12.9 (Integrity and Alpha)
• GNV major release (V3.0)
• Apache 2.0.x Upgrade
• CSWS_JAVA release based on Tomcat 6.0
• PHP New release – with additional module support
• WSIT – support for JAVA 6.0
• WSIT – Support for PASCAL

39 ©2010 Hewlett-Packard Development Company, L.P.

Dates and content subject to change without notice.


Contact Information

Business Manager
(Vivasvan Shastri) viva@hp.com

Office of OpenVMS Programs


(openvms.programs@hp.com)

40 ©2010 Hewlett-Packard Development Company, L.P.

40
41 ©2010 Hewlett-Packard Development Company, L.P.
Thank you

42 ©2010 Hewlett-Packard Development Company, L.P.

Das könnte Ihnen auch gefallen