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
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
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�[ 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
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;
}
��� 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
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';
�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�́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
http://<hod server IP address>/HOD/ �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(); �܂�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�pLoadableJSAppletInterface �́A�Z�b�V�����E�}�l�[�W���[ API �S�̂ɉ����āA���� 1 �̃��\�b�h���w�肵�܂��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�pFRAMESET 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
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