ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บนแพลตฟอร์ม

RUK-COM PAAS / JAVA

คู่มือ Remote Access to EJB on GlassFish สำหรับ Java

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

เอ็นเตอร์ไพรส์ Java Beans(EJB) เป็นส่วนหนึ่งของสถาปัตยกรรมฝั่งเซิร์ฟเวอร์ของ Java EE ข้อกำหนดประกอบด้วยมุมมองไคลเอ็นต์สองประเภท: มุมมองระยะไกลและภายในเครื่องในกรณีหนึ่งแอป Java ของคุณอาจต้องใช้เซสชันและเอนทิตี bean ที่มีโฮมและอินเทอร์เฟซคอมโพเนนต์ภายในเครื่องและในอีกกรณีหนึ่ง - ด้วยรีโมต

มาดูกันว่าอินเทอร์เฟซเหล่านี้แตกต่างกันอย่างไรและอินเทอร์เฟซใดที่คุณต้องเลือกใช้งาน

หากคุณแน่ใจว่าไคลเอ็นต์อื่นและ EJB จะเข้าถึง bean ของคุณผ่าน JVM เดียวคุณสามารถใช้มุมมองลูกค้าท้องถิ่น. นอกจากนี้ยังเหมาะสำหรับกรณีที่เมล็ดกาแฟของคุณเชื่อมโยงถึงกันอีกด้วยการเข้าถึงดังกล่าวจะดำเนินการภายในการเรียกเมธอดโดยตรงไม่ใช่ผ่านการเรียกใช้เมธอดระยะไกล (RMI)

สำหรับกรณีที่ไคลเอ็นต์ของคุณถูกวางบน JVM อื่นเช่นคุณต้องการใช้ bean ของคุณใน Environment แบบกระจายดังนั้นจึงมีความจำเป็นที่จะต้องทำงานกับมุมมองลูกค้าระยะไกล. การเรียกวิธีการทั้งหมดจากอินเทอร์เฟซระยะไกลจะถูกจัดการโดยมันนอกจากนี้ยังควรใช้ RCV ในขณะที่ทำงานกับพารามิเตอร์ที่ส่งผ่านค่าระหว่างแอปพลิเคชันไคลเอนต์และ bean

มาดูวิธีการ Deploy Java Bean กับโฮสติ้ง PaaS และใช้ไคลเอนต์ระยะไกล EJB เพื่อทำงานกับมัน

ก. สร้าง Environment

  1. เข้าสู่ระบบบัญชี PaaS ของคุณ

  2. คลิกที่สร้าง Environmentปุ่มเพื่อเปิดวิซาร์ดโทโพโลยี Environment หยิบGlassFishเป็นแอปพลิเคชันเซิร์ฟเวอร์ของคุณและตั้งค่าขีดจำกัด Cloudlet ตามความต้องการการใช้ทรัพยากรของแอปพลิเคชัน Java Enterprise ของคุณเปิดใช้งานไอพีสาธารณะสำหรับ GlassFish ให้พิมพ์ชื่อ Environment ของคุณแล้วคลิกสร้าง.

Image 35: remote access to ejb glassfish create environment with glassfishรอประมาณหนึ่งนาทีเพื่อสร้าง Environment ของคุณ 3.เพื่อที่จะได้มองเห็นความไอพีสาธารณะของเซิร์ฟเวอร์ GF ของคุณกดปุ่มเพิ่มเติมข้างๆ

Image 36: glassfish public ip

ข. สร้างแอปพลิเคชัน

  1. ในตอนเริ่มต้นให้สร้างไดเร็กทอรีใหม่เพื่อวางไฟล์ EJB และไคลเอ็นต์แอปพลิเคชันของคุณ

  2. จากนั้นสร้างของคุณเซสชั่นบีน. จะถูกใช้เพื่อเข้าถึงแอปพลิเคชันที่ปรับใช้ผ่านแอปไคลเอนต์ระยะไกลผ่านการดำเนินงานทางธุรกิจภายในเซิร์ฟเวอร์

จาวาคัดลอก

package com;
import javax.ejb.Stateless;

@Stateless
public class EJBTest implements EJBTestRemote {

    @Override
    public String getName(String name) {
        return "name is: " + name;
    }
}
  1. ขั้นตอนต่อไปคือการสร้างเอ็นเตอร์ไพรส์ Java Beansอินเตอร์เฟซจำเป็นสำหรับไคลเอนต์ระยะไกลเพื่อเข้าถึงถั่ว

จาวาคัดลอก

package com;
import javax.ejb.Remote;

public interface EJBTestRemote {
    public String getName (String name);
}
  1. สร้างโมดูลใหม่และแพ็คลงในไฟล์ด้วย.หูส่วนขยาย.

  2. รหัสต่อไปนี้เป็นตัวอย่างของแอปพลิเคชันไคลเอ็นต์ระยะไกลซึ่งใช้ในการเข้าถึง bean มันทำการเชื่อมต่อระยะไกลกับ EJB ของคุณผ่าน IP สาธารณะของแอปพลิเคชันเซิร์ฟเวอร์ GlassFish และเรียกใช้รับชื่อ()วิธีการซึ่งในทางกลับกันจะส่งคืนข้อมูลไปยังไคลเอนต์

จาวาคัดลอก

package ejbclient;
import com.EJBTestRemote;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class Main {

    private static InitialContext ic;
    //private String host="",port="";

    public void loadProperties(String h, String p) {
        try {
            Properties props = new Properties();

            System.out.println("h: " + h + " p: " + p);

            props.setProperty("java.naming.factory.initial",
                    "com.sun.enterprise.naming.SerialInitContextFactory");
            props.setProperty("java.naming.factory.url.pkgs",
                    "com.sun.enterprise.naming");
            props.setProperty("java.naming.factory.state",
                    "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
            props.setProperty("org.omg.CORBA.ORBInitialHost", h);
            props.setProperty("org.omg.CORBA.ORBInitialPort", p);

            ic = new InitialContext(props);
        } catch (NamingException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void main(String a[]) {

        try {

            new Main().loadProperties("{GlassFish_Public_IP}", "23700");
            EJBTestRemote etr = (EJBTestRemote) ic.lookup("com.EJBTestRemote");
            System.out.println(etr.getName("Jelastic"));

        } catch (NamingException ex) {
        }
    }
}

บันทึก:จำนวนพอร์ตทั้งหมดเริ่มต้นด้วยตัวเลข 2 หลักเพิ่มเติมด้วยเหตุผลที่แพลตฟอร์มใช้งานได้gfclusterเท่านั้น.

เป็นตัวอย่าง.หูไฟล์ที่คุณสามารถใช้แพ็คเกจนี้ได้

C. ปรับใช้แอปพลิเคชัน

  1. ไปที่แดชบอร์ดแพลตฟอร์มเปิดผู้จัดการฝ่ายปรับใช้และอัปโหลดที่สร้างขึ้น.หูภายในนั้นหวังว่าบทช่วยสอนพื้นฐานการใช้งานอินเทอร์เฟซระยะไกลนี้จะช่วยคุณได้สนุก!

Image 39: upload archive2. ปรับใช้แพ็คเกจที่อัปโหลดไปยัง Environment GlassFish ที่สร้างขึ้นในขั้นตอน A ของคำแนะนำนี้

Image 40: deploy archive3. สุดท้ายให้เรียกใช้แอปพลิเคชันของคุณ (กดเปิดในเบราว์เซอร์ถัดจาก Environment) และตรวจสอบผลลัพธ์

Image 41: upload archiveหวังว่าบทช่วยสอนพื้นฐานการใช้งานอินเทอร์เฟซระยะไกลนี้จะช่วยคุณได้สนุก!