Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

First, create a development directory on AFS unix, and cvs checkout aida: 

Code Block
$ mkdir work2
$ cd work2
$ cvs co package/aida
cvs checkout: Updating package/aida
U package/aida/.classpath....

...

Code Block
> set def [.work.package.aida.edu.stanford.slac.aida.dp]
> create/dir [.dpslcbpm]
> set def [.dpslcbpm]

 
FTP the java files you created on AFS, to your VMS development directory. You can execute the ftp command from unix or from VMS (in which case ftp to ftp.slac.stanford.edu). Here we have doen the ftp from unix. Eg:

Code Block
$> ftpsftp mccmccdev
ConnectedConnecting to mcc-lavc.slacmccdev.stanford.edu.
220 mcc.slac.stanford.edu MultiNet FTP Server Process V4.4(16) at Fri 18-Aug-2006 4:11PM-PDT
Name (mcc:xxx):
331 User name (xxx) ok. Password, please.
Password:
230 User xxx logged into USER_DISK_SLC:[xxx] at Fri 18-Aug-2006 4:11PM-PDT, job 20281e16.
Remote system type is VMS.
ftp> cd user_disk_slc:[xxx.work.package.aida.edu.stanford.slac.aida.dp.dpslcbpm]
250 Connected to USER_DISK_SLC:[xxx.WORK.PACKAGE.AIDA.EDU.STANFORD.SLAC.AIDA.DP.DPSLCBPM].
ftp> 
sftp> cd /data_disk_slc/slc/greg
sftp> cd dev/aida/package/aida/edu/stanford/slac/aida/dp/dpslcbuffacq
sftp> mput *.java

Purloin Back on VMS, purloin a *server.java file from one of the existing VMS data providers (eg ref_aidashr:dpslcmodelserver.java). Copy it to your working directory and modify it. Also copy an existing *_impl.java file as a starting off point for your new server.

...

Code Block
MCCDEV> lib/create aidashr_devlib.olb
MCCDEV> cinc *.c

 

...

Create an aidashr_xfr_alpha.opt. Due to namemanging of JNI and VMS linking
namespace restrictions, it's important to do this with java$jni_example:scan_globals_for_option.com.

Code Block
MCCDEV> libr/extract=dpslcbpm_jni/output=dpslcbpm_jni aidashr_devlib
MCCDEV>  @java$jni_example:scan_globals_for_option *.obj aidashr_xfr_alpha.opt

 

...

Link your aidashr, using the opt file created above. You may also need to use a locally modified version of AIDASHR_XFR_ALPHA.OPT if you are using shareables AIDA hasn't used before.

Code Block
MCCDEV> buildtest aidashr /default

 

...


Add the server to the list of Aida servers. This list is part of the Aida directory service Oracle database. See the Aida Directory Database Guide for details, off the Aida homepage. See the Aida SQL Cheatsheet, Adding a new Data Provider.

Code Block

SQL> @/afs/slac/g/cd/soft/ref/package/aida/common/script/add_service 'SLCBpm' 'SLC BPM orbit acquisition'

Add instances and their attributes for testing. Here's a single example that may be one of thousands when it comes to deploying your server:

Code Block

SQL>  @/afs/slac/g/cd/soft/ref/package/aida/common/script/add_IA 103 'P2BPMLER' 'BPMS'

Clone a server config file, that defines on which port this server will run. The config filename must be the same as the servername (see the java command line in the START<dpname>.COM file (see below)).

Code Block

copy ref_aidashr:dpslcmodel.conf dpslcbpm.conf
<edit the file and choose a unique port number>

Run the server. The java command to run an AIDA server takes several arguments, to pass the values of
environment variables to the server at startup, so we have little .com files for each server. To override the default classpath (JAVA$CLASSPATH) which points to the aida.jar in slcimage, and the default AIDASHR (in SLCSHR), redefine the logicals before running the START<server>START<dpname>.COM file:

Code Block
MCCDEV> define myjava$classpath [------]
MCCDEV> testshrx/define/default aidashr
MCCDEV> @startdpslcbpm

 

Release

Release is described in "release" section of the SLC Peer Programmers Guide

SLC Peer Programmers Guide 

When development is complete on VMS side

 When When you're done, you can cvs release the unix side aida checkout. Note that you do not need to checkin any of the CORBA stubs and skeletons you created for the VMS server. The client side of aida sees the VMS server simply as an "aidaObject", it does not know it is specifically talking to a dpSlcMagnet server object, so there is no need to keep any of the files for a VMS server on the unix side.