Host Access Beans for Java

Host Access Beans for Java


�t�^ B. �L���b�V���E�T�|�[�g����̃J�X�^���E�A�v���P�[�V����

�T�v

Host On-Demand (HOD) �T�[�o�[�ɂ́AHOD �ŗL�̃��C�u�����[���N���C�A���g�E���[�N�X�e�[�V�����ɃL���b�V�����邽�߂́A�I�v�V�����̃T�|�[�g���p�ӂ���Ă��܂��B ���̃��J�j�Y���́A�ȉ��̃C���^�[�t�F�[�X�̂����ꂩ���������Ă���J�X�^���E�A�v���P�[�V�����ɑ΂��ē��삵�܂��B

    com.ibm.eNetwork.HOD.common.cached.LoadableAppletInterface
    com.ibm.eNetwork.HOD.common.cached.WSLoadableAppletInterface
    com.ibm.eNetwork.HOD.common.cached.LoadableJSAppletInterface

�I������C���^�[�t�F�[�X�́A���g�p�̃J�X�^���E�A�v���b�g/�A�v���P�[�V�����̗v���ɉ����ĈقȂ�܂��B �L���b�V���E�A�v���b�g�ɂ� LoadableAppletInterface ���g�p���Ă��������B Web Start �A�v���P�[�V�����ɂ� WSLoadableAppletInterface ���g�p���Ă��������B JavaScript �ɂ��z�X�g�E�Z�b�V�����Ƃ̑Θb���K�v�ł���΁ALoadableJSAppletInterface ���g�p���Ă��������B

���g�p�̃A�v���P�[�V�����́Ajava.awt.Component �̉��w (Panel �� JPanel �Ȃ�) ���g�����āA�������Ԃɂ���K�v������܂��B

�����̃^�C�v�̃J�X�^���E�A�v���P�[�V�����́AHost Access Class Library (HACL) ����� Host Access Beans for Java (HABJ) ���g�p���ĊJ���ł��܂��B HOD �T�[�o�[����񋟂��ꂽ HACL ����� HABJ �p�̃��C�u�����[�́A�N���C�A���g�E���[�N�X�e�[�V�����ɃL���b�V������܂��B ���̋@�\�́AHOD �ȊO�̃J�X�^���E���C�u�����[�ɂ‚��ẮA�L���b�V�����o�[�W�����Ǘ����s���܂���B �J�X�^���E�A�v���P�[�V�������n�����邽�тɁA�J�X�^���E���C�u�����[���_�E�����[�h����܂��B

�J�X�^���E�A�v���P�[�V�����E���C�u�����[�́AHOD �p�u���b�V���E�f�B���N�g���[�ɒu����Ă���K�v������܂��B �����́AHOD ���C�u�����[�̂�����ɂ��������Ȃ��ł��������B�������邱�Ƃ́A���g�p�����ɂ���ċ��‚���Ă��܂���B �č\�����ꂽ Host On-Demand ���C�u�����[�́A�L���b�V���O�E���J�j�Y���ɂ���ċ��ۂ���܂��B

�L���b�V���O�E���J�j�Y���́A�F�؋ǂ���h�������ؖ����Ń��C�u�����[���f�W�^����������Ă��邱�Ƃ�K�v�Ƃ��܂���B �����t�����s���N�����邽�߂ɁA�A�v���P�[�V�����E�R�[�h���Z�L�����e�B�[�E�}�l�[�W���[�̉����K�v�Ƃ��邩�ǂ����ɂ���āA���̗v���͈قȂ�܂��B

�T�|�[�g�����u���E�U�[�́AHost On-Demand ���T�|�[�g����u���E�U�[�ł��B

Java

LoadableAppletInterface ����� LoadableJSAppletInterface ���A�uJava�vHOD ���[�h�ŃT�|�[�g����Ă��܂��B �uJava�v���[�h�ł́AJAR �A�[�J�C�u���K�v�ł��B

WSLoadableAppletInterface �� Java Web Start �Ɋ�Â��Ă��܂��B �J�X�^���E���C�u�����[�� JAR �A�[�J�C�u�ɓ����Ă���K�v������܂��B

�uJava�v���[�h�ł́AJava �v���O�C���̃C���X�g�[������э\�����K�v�ł��B

�o�[�W�����̈Ⴂ�Ɋւ��钍��

LoadableAppletInterface API ���AHACP 3.0 �� HOD7.0 �ƈꏏ�� Toolkit �ɓ�������܂����B �J�X�^�� LoadableAppletInterface �A�v���P�[�V�������Z�b�g�A�b�v����菇���ȗ�������Ă��܂��B HOD7.0 ���C�u�����[�ō쐬����уR���p�C�����ꂽ�A�v���P�[�V�����́A�ύX���邱�ƂȂ��AHOD8.0 �ōăR���p�C�����Ď��s�ł��܂��B

LoadableAppletInterface �A�v���P�[�V�����̊�{����

�f�v���C�����g�E�E�B�U�[�h���g�p���č쐬���ꂽ�ύX�ς� HTML �y�[�W�́ALoadableAppletInterface �C���^�[�t�F�[�X���������Ă���A�v���P�[�V�������N���ł��܂��B �܂��A�u���E�U�[�� HOD �v���v���G�^���[�E�L���b�V���E�A�v���b�g�E���[�_�[�E�N���X�����[�h���ċN�����܂��B ���ɁA���̃N���X���J�X�^�� LoadableAppletInterface �N���X�����[�h���ċN�����܂��B

�f�v���C�����g�E�E�B�U�[�h�E�x�[�X�� HTML �́u�t�����g�v�y�[�W�ɂ́A���̍s������܂��B

   var hod_AppName='';

���̍s�ɁALoadableAppletInterface �C���^�[�t�F�[�X���������Ă���J�X�^���E�A�v���P�[�V�����̖��O����͂��邱�Ƃɂ���ăJ�X�^�}�C�Y���܂��B

   var hod_AppName='my_custom_app_name';

�f�v���C�����g�E�E�B�U�[�h�E�v���Z�X�̊ԁA�J�X�^���E�R�[�h�������Ă���A�[�J�C�u�E�t�@�C�����w�肷�� HTML �p�����[�^�[�uAdditionalArchives�v���w�肵�܂��B

�u���E�U�[�͉���F�����A����F�����Ȃ���

�u���E�U�[ Java ���z�}�V�� (JVM) �́A�v���v���G�^���[�E�L���b�V���E�A�v���b�g�E���[�_�[�E�N���X�����[�h���ċN�����܂��B ���̌�Ń��[�_�[�E�N���X���J�X�^���E�N���X�����[�h���ċN���������Ƃ��A�u���E�U�[�͔F�����Ă��܂���B

���̐����ł́A�L���b�V���E�A�v���b�g�E���[�_�[�E�C���X�^���X�� theRealApplet �Ƃ��܂��B ������u���E�U�[�����[�h���ċN���������߁A���ꂪ�u���ۂ̃A�v���b�g�v�ł��B �u���E�U�[�́A���� theRealApplet �̂ݔF�����܂��B

���g�p�̃J�X�^���E�A�v���P�[�V�����́AtheRealApplet �̎q�ł��B ���̊֌W�́A�ȉ��� 4 �‚̃C���^�[�t�F�[�X�E���\�b�h�ɂ���ăT�|�[�g����Ă��܂��B

    public void setApplet(Applet theRealApplet);
    public void init();
    public void start();
   public void stop();

�����̃��\�b�h�̂����� 3 �� init()�Astart()�A����� stop() �̈Ӗ��́Ajava.awt.Applet �ɂ�����ގ��̃��\�b�h�Ɠ����ł��B

�܂����\�b�h setApplet(Applet theRealApplet) ���Ăяo�����

�L���b�V���E�A�v���b�g�E���[�_�[���J�X�^���E�A�v���P�[�V���������[�h���ċN������Ƃ��ɁA�ŏ��ɌĂяo����郁�\�b�h�� setApplet(Applet a) �ł��B �L���b�V���E�A�v���b�g�E���[�_�[�́A���ꎩ�̂ւ̎Q�Ƃ�n���܂��B �J�X�^���E�A�v���P�[�V�����E�R�[�h�̗�:

    ...
    protected Applet theRealApplet = null;
    ...
    public void setApplet(Applet a) {
          this.theRealApplet = a; //remember  who my parent, an applet, is
    }

�L���b�V���E�A�v���b�g�E���[�_�[�ɂ���ČĂяo�����A�A�v���P�[�V������ start() ���\�b�h�̓T�^�I�ȗ�:

    public void start() {
          ... //do some preparation and then...
          if(this.theRealApplet != null ) {
             displayThis(<a GUI component that does the real work>);
          }
    }

    // show the work component in the browser page to the user
    public void displayThis(Component component) {
       this.theRealApplet.removeAll();  // just to be safe
       this.theRealApplet.add(component,null);  // insert thenew GUI component
   
       //ask my parent for the top level non-Window Component
       Component topComponent = getTopComponent(this.theRealApplet);
       //visualize me reliably in the browser page
       topComponent.setVisible(true);
       topComponent.validate();
       topComponent.repaint();
    }

    // climb the hierarchy as needed
    public Component getTopComponent( Component containingThisComponent ) {
       Component topComponent = containingThisComponent;
       Component nextComponent = topComponent.getParent();
       while( (nextComponent != null) && !(nextComponent instanceof Window) ) {
             topComponent = nextComponent;
             nextComponent = topComponent.getParent();
       }
       return topComponent;
    }
   

RealApplet �͕\���@�\

��� repaint �R�[�h�́A�J�X�^�� GUI �R���|�[�l���g��\�����邽�߂ɕK�v�ł��B ���ꂪ�Ȃ��ƁA�J�X�^�� GUI �R���|�[�l���g���u���E�U�[�E�y�[�W�Ō����Ȃ��Ȃ�”\��������܂��B ����́A���g�p�̃A�v���P�[�V�������Ajava.awt.Component �̉��w (Panel �� JPanel �Ȃ�) ���g�����āA�������Ԃɂ���K�v������A�Ƃ����v�����ÖقɎ����Ă��܂��B ���g�p�� LoadableAppletInterface �A�v���P�[�V�������A�������Ԃ� GUI �R���|�[�l���g�łȂ���΂Ȃ�Ȃ��A�Ƃ����v���͂Ȃ����Ƃɒ��ӂ��Ă��������B �Ⴆ�΁A���g�p�̃J�X�^���E�A�v���P�[�V�����́A�u���E�U�[�E�y�[�W�ɕ\�����邽�߂ɁA�폜����đ��̃R���|�[�l���g�ɂ���Ēu���������邱�ƂɂȂ�A������ GUI �R���|�[�l���g�𐮗񂷂�T�[�o�[�ł���”\��������܂��B GUI �R���|�[�l���g�̂��ꂼ����u���ۂ̃A�v���b�g�v�ɑ}��������ŁA���̃R���|�[�l���g�̕\�����N�����邱�Ƃ�Y��Ȃ��ł��������B

�f�v���C�����g�E�E�B�U�[�h�̎g�p

HOD �f�v���C�����g�E�E�B�U�[�h (DW) �́A���̃v���Z�X�ɂ����ĕs�Œ��ȃp�[�c�ł��B ����ȍ~�̊Ȍ��Ȑ����ł́A�f�v���C�����g�E�E�B�U�[�h�ɂ‚��ďn�m���Ă��邱�Ƃ��O��ł��B ���̎������܂��ǂ�ł���A�f�v���C�����g�E�E�B�U�[�h���g�p���ăN���C�A���g HTML �y�[�W���\�����Ă݂Ă��������B

���̍��ڂł́A�J�X�^�� HTML �t�@�C�����쐬���邽�߂Ƀf�v���C�����g�E�E�B�U�[�h�E�v���Z�X�ŕK�v�ȁA�lj��̃A�N�V�����ɂ‚��Ă̂ݐ������܂��B

�f�v���C�����g�E�E�B�U�[�h�́A�I�����ꂽ���O���g�p���āA1 ���I�ȁu�t�����g�vHTML �t�@�C�� (����� 1 �ˆȏ�̃T�|�[�g HTML �t�@�C��) ���쐬���܂��B

���̗�ł́Alai0.JavaApp (lai0 �̓p�b�P�[�W��) �Ƃ������O�̃J�X�^���E�A�v���P�[�V�������쐬���Ă��邱�Ƃ��O��ł��B

���ʂ� HTML �t�@�C���ŁA���̍s�����‚��܂��B
    var hod_AppName ='';
����ɁA��������̂悤�ɕύX���܂��B
    var hod_AppName ='lai0.JavaApp';

���߂ăJ�X�^���E�A�v���b�g���L���b�V���O�t���Ŏ��s

�N���C�A���g�E�u���E�U�[�����߂� HOD �T�[�o�[�ɃA�N�Z�X����Ƃ��A�L���b�V���O�E���J�j�Y���́A���ꂪ�u���߂āv�ł��邱�Ƃ����o���܂��B ���̂��߁A�L���b�V���O�E�I�y���[�^�[�́A�f�v���C�����g�E�E�B�U�[�h�E�X�e�b�v�ŗ񋓂��ꂽ HOD �ŗL�̃��C�u�����[�����ׂă_�E�����[�h���܂��B �uJava 1�v���[�h�ł���΁A�|�b�v�A�b�v�E�_�C�A���O�ɂ���āA�u���E�U�[��‚��Ă���ċN������悤�w������܂��B �uJava 2�v���[�h�ł���΁A�J�X�^���E�A�v���P�[�V�����������ɋN�����܂��B ����ȍ~�ɔ�������J�X�^���E�A�v���P�[�V�����E�Z�b�V�����̊J�n�ɂ�����҂����Ԃ́AHOD �ȊO�̃��C�u�����[���ă_�E�����[�h����K�v�����邱�Ƃɂ����̂ł��B �o�[�W�����E�A�b�v�O���[�h�� HOD �T�[�o�[�ɃC���X�g�[�����ꂽ�ꍇ�̂݁AHOD ���C�u�����[�͍Ăу_�E�����[�h����܂��B

WSLoadableAppletInterface �A�v���P�[�V�����̊�{����

������ Web Start �A�v���P�[�V�����p�̃R�[�h�́A�C���^�[�t�F�[�X���̕ύX (LoadableAppletInterface �� WSLoadableAppletInterface �ɂȂ�) �������āA��̃L���b�V���O�E�A�v���P�[�V�����Ɠ����ł��B ���ɂ͉����ύX����܂���B

�f�v���C�����g�E�E�B�U�[�h�̎g�p

�f�v���C�����g�́A1) �f�v���C�����g�E�E�B�U�[�h�\���̎d�l�� 2) �J�X�^���E�A�v���P�[�V�����̖��O���w�肷���̃t�@�C���Ƃ��� 2 �‚̓_�ŏ����قȂ�܂��B

���̍��ڂł́A�J�X�^�� HTML �t�@�C�����쐬���邽�߂Ƀf�v���C�����g�E�E�B�U�[�h�E�v���Z�X�ŕK�v�ȁA�lj��̃A�N�V�����ɂ‚��Ă̂ݐ������܂��B

�f�v���C�����g�E�E�B�U�[�h�́A�\�����ꂽ���O���g�p���āA1 ���I�ȁu�t�����g�vHTML �t�@�C���� 1 �‚̓���ȃT�|�[�g�ujnlp�v�t�@�C�����쐬���܂��B �����ŁA�ujnlp�v�t�@�C����ύX���邱�Ƃɂ���āA�J�X�^���E�A�v���P�[�V�������w�肵�܂��B �ύX�O:
   <property name="hod.CachedClientSupportedApplet"    value="com.ibm.eNetwork.HOD.HostOnDemand"/>
�ύX��:
   <property name="hod.CachedClientSupportedApplet"    value="wslai0.WSJava2App"/>
����ŁA�u���ցv�{�^�����A�N�e�B�u�ɂȂ�܂��B

���̏ꍇ�A�p�b�P�[�W���́uwslai0�v�ŁA�N������J�X�^���E�N���X�́uWSJavaApp�v�ł��B

�N���C�A���g�E�u���E�U�[�͎w�肳�ꂽ HTML ��Ώۂɂ��āA�W�� Web Start �m���v���Z�X����ɑ����܂��B �A�v���P�[�V������ Web Start �N���A�C�R���ɂ���ăf�X�N�g�b�v����N������邽�тɁA�J�X�^���E���C�u�����[���_�E�����[�h����Ȃ���΂Ȃ�Ȃ����߁AHOD �p�u���b�V���E�f�B���N�g���[������ HTTP �T�[�o�[�o�R�ŗL���ɂ��Ă����K�v������܂��B

LoadableJSAppletInterface �A�v���P�[�V�����̊�{����

LoadableJSAppletInterface �̃X�e�b�v:

���̃C���^�[�t�F�[�X�͌`����ALoadableAppletInterface ���g������킯�ł͂���܂��񂪁A���ۂɂ͈ȉ��̃��\�b�h�������ړI���ʂ����܂��B

    public void setApplet(Applet theRealApplet);
    public void init();
    public void start();
    public void stop();

�f�v���C�����g�E�E�B�U�[�h�̎g�p

�‚܂�ALoadableAppletInterface �A�v���P�[�V�����ɂ‚��Đ��������J�X�^���E�A�v���P�[�V�����E�v���O���~���O�̏ڍׂ́A�����ł����ׂēK�p����܂��B

���̍��ڂł́A�J�X�^�� HTML �t�@�C�����쐬���邽�߂Ƀf�v���C�����g�E�E�B�U�[�h�E�v���Z�X�ŕK�v�ȁA�lj��̃A�N�V�����ɂ‚��Ă̂ݐ������܂��B

�f�v���C�����g�E�E�B�U�[�h�́A�I�����ꂽ���O���g�p���āA1 ���I�ȁu�t�����g�vHTML �t�@�C�� (����� 1 �ˆȏ�̃T�|�[�g HTML �t�@�C��) ���쐬���܂��B ���̗�ł́Ajslai0.JSJavaApp (jslai0 �̓p�b�P�[�W��) �Ƃ������O�̃J�X�^���E�A�v���P�[�V�������쐬���Ă��邱�Ƃ��O��ł��B

���ʂ� HTML �t�@�C���ŁA���̍s�����‚��܂��B
var hod_AppName ='com.ibm.eNetwork.HOD.JSHostOnDemand';
��������̂悤�ɕύX���܂��B
var hod_AppName ='jslai0.JSJavaApp';
JavaScript �A�N�Z�X�”\�o�[�W������ Host On-Demand �͏�������AJavaScript �A�N�Z�X�”\�J�X�^���E�A�v���b�g�Œu�������܂��B

callCustomerFunction(...) �̎g�p

LoadableJSAppletInterface �́A�Z�b�V�����E�}�l�[�W���[ API �S�̂ɉ����āA���� 1 �‚̃��\�b�h���w�肵�܂��B

  • public java.lang.String callCustomerFunction( java.lang.String fncName, java.lang.String parms)
  • API ���g�����Ēlj��@�\��񋟂��邽�߂Ɏg�p�ł��郁�\�b�h�B �֐��� (�Ⴆ�� showColorRemap) ���󂯓n���Ă���A��M���̋@�\����͂ł���p�����[�^�[�̃��X�g���󂯓n�����Ƃ��ł��܂��B �J�X�^�}�[�́A���� API ���g�p���āA���g�̃J�X�^�� JavaScript API �Ăяo�����������邱�Ƃ��ł��܂��B
  • �J�X�^���E�A�v���P�[�V�����́A���̋@�\�ɕK�v�ȃN���X����у��\�b�h�����ׂĎ������܂��B Terminal Bean �x�[�X�E�A�v���P�[�V�����̏ꍇ�A�����‚��̃Z�b�V�����E�}�l�[�W���[ API �� Terminal �x�[�X�@�\�̑���ɁA�ȒP�Ƀ}�b�s���O�ł���”\��������܂��B

    �������AFRAMESET JavaScript �E�B�W�F�b�g���L���b�V���E�J�X�^���E�A�v���P�[�V�����ƑΘb�ł���悤�ɂ��邽�߂ɕK�v�ƂȂ� JavaScript �A�N�Z�X�́AcallCustomerFunction(java.lang.String fncName, java.lang.String parms) ���\�b�h�݂̂ł���”\��������܂��B

    FRAMESET �^�O�̎g�p

    FRAMESET HTML �t�@�C���́A���̂悤�ɂȂ��Ă��܂��B

       <HTML>
      <HEAD>
      </HEAD>
       <FRAMESET rows="85%,15%">
          <FRAME src="JSCustomApplication.html" name="upperFrame">
          <FRAME src="JavaScriptLogic.html" name="lowerFrame">
    </FRAMESET>
       </HTML>
    

    JavaScriptLogic.html �ɂ́A���̂悤�� JavaScript �֐��������Ă��܂��B

       function getJsCustomApplication() {
          return parent.upperFrame.getHODFrame();
       }
    

    �uJava�v���[�h�ł� JavaScript �֐�:

       function getHODFrame() {
          return HODFrame;
       }
    

    JavaScript �E�B�W�F�b�g����ёΘb���W�b�N�́A1 �‚� FRAME (HTML) �ɒu����܂��B �����́A�J�X�^�� LoadableJSAppletInterface �A�v���P�[�V���������s���鑼�� FRAME (HTML) �ւ̃O���[�o���Q�� (��L) ���g�p���܂��B LoadableJSAppletInterface �ŗL�� JavaScript �Ăяo�����J�X�^���E�A�v���P�[�V�����ɂ���Ď�M����A�l�� JavaScript �Ăяo�����ɕԂ���܂��B

    Java �o�[�W�����̌݊���

    JDK 1.6 �x�[�X�̃J�X�^���E�N���X�́A�݊����������ԂŁAJava �‹��œ��삵�܂��B ���l�� JDK 1.6 �x�[�X�� HOD �N���X���A�݊����������ԂŁAJava �‹��œ��삵�܂��B �������A���̋t�͐^�ł͂���܂���BJava �x�[�X�� HOD �N���X�́AJDK 1.6 �u���E�U�[�‹��ł͓��삵�܂���B


    [ �y�[�W�̐擪 | �O�̃y�[�W | ���̃y�[�W | �ڎ� ]