การติดตั้งบริการสร้างรายได้

Edge for Private Cloud v4.18.01

บริการด้านการสร้างรายได้เป็นส่วนขยายของ Apigee Edge จึงไม่ได้ทำงานแบบแยกเดี่ยว ขั้นตอนได้ โดยจะทำงานภายในการตั้งค่า Apigee Edge ใดก็ได้ที่มีอยู่

ข้อกำหนดในการสร้างรายได้

  • หากคุณติดตั้งการสร้างรายได้บนโทโพโลยี Edge ที่ใช้เซิร์ฟเวอร์การจัดการหลายเซิร์ฟเวอร์ เช่น การติดตั้ง 13 โหนด คุณต้องติดตั้งโหนดเซิร์ฟเวอร์การจัดการ Edge ทั้ง 2 โหนด ก่อนที่จะติดตั้งการสร้างรายได้
  • วิธีติดตั้งการสร้างรายได้บน Edge ซึ่งการติดตั้ง Edge มีโหนด Postgres หลายรายการ ต้องกำหนดค่าโหนด Postgres ในโหมดหลัก/สแตนด์บาย คุณไม่สามารถติดตั้งการสร้างรายได้ ใน Edge หากคุณมีโหนดหลักของ Postgres หลายรายการ โปรดดูข้อมูลเพิ่มเติมที่ตั้งค่าการจำลองต้นแบบสแตนด์บายสำหรับ Postgres

ภาพรวมการติดตั้ง

ขั้นตอนต่อไปนี้จะแสดงวิธีเพิ่มบริการการสร้างรายได้บน Apigee Edge ที่มีอยู่ การติดตั้ง:

  • ใช้ apigee-setup ยูทิลิตีเพื่ออัปเดตโหนดเซิร์ฟเวอร์การจัดการ Apigee เพื่อเปิดใช้บริการการสร้างรายได้สำหรับ ตัวอย่างเช่น การจัดการแคตตาล็อก ขีดจำกัดและการกำหนดค่าการแจ้งเตือน การเรียกเก็บเงิน การรายงาน

    หากคุณมีโหนดเซิร์ฟเวอร์การจัดการหลายโหนด เช่น การติดตั้งแบบ 13 โหนด คุณต้อง ให้ติดตั้งโหนด Edge Management Server ทั้ง 2 โหนดก่อนติดตั้งการสร้างรายได้
  • ใช้ apigee-setup ยูทิลิตีเพื่ออัปเดต Apigee Message Processor เพื่อเปิดใช้คอมโพเนนต์รันไทม์ของ บริการด้านการสร้างรายได้ เช่น นโยบายการบันทึกธุรกรรมและการบังคับใช้ขีดจำกัด หากคุณ ถ้าคุณมีโปรแกรมประมวลผลข้อความหลายรายการ ให้ติดตั้งการสร้างรายได้ไว้ในโปรแกรมเหล่านั้นทั้งหมด
  • ดำเนินการตามกระบวนการเริ่มต้นใช้งานการสร้างรายได้สำหรับองค์กร Edge
  • กำหนดค่าพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์เพื่อสนับสนุนการสร้างรายได้ สำหรับข้อมูลเพิ่มเติม โปรดดู http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

กำลังสร้างไฟล์การกำหนดค่าที่ผู้ใช้ไม่ต้องดำเนินการสำหรับ การสร้างรายได้

ด้านล่างนี้เป็นตัวอย่างไฟล์การกำหนดค่าที่ไม่มีการแจ้งเตือนสำหรับการติดตั้งการสร้างรายได้ แก้ไข ไฟล์ตามที่จำเป็นสำหรับการกำหนดค่าของคุณ ใช้ตัวเลือก -f เพื่อ Setup.sh เพื่อรวมไฟล์นี้

หมายเหตุ: โดยปกติแล้วจะเพิ่มพร็อพเพอร์ตี้เหล่านี้ลงในไฟล์การกำหนดค่าเดียวกัน ที่คุณใช้ติดตั้ง Edge ดังที่แสดงในติดตั้ง Edge คอมโพเนนต์บนโหนด

# Edge configuration properties
# Specify IP address or DNS name of node.
IP1=192.168.1.1  # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra
IP2=192.168.1.2  # ZooKeeper, Cassandra
IP3=192.168.1.3  # ZooKeeper, Cassandra
IP4=192.168.1.4  # Router, Message Processor
IP5=192.168.1.5  # Router, Message Processor
IP6=192.168.1.6  # Qpid
IP7=192.168.1.7  # Qpid
IP8=192.168.1.8  # Postgres
IP9=192.168.1.9  # Postgres

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Edge sys admin credentials
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.

# Specify the Management Server port.
APIGEE_PORT_HTTP_MS=8080

#
# Monetization configuration properties.
#
# Postgres credentials from Edge installation.
PG_USER=apigee    # Default from Edge installation
PG_PWD=postgres    # Default from Edge installation

# Specify Postgres server.
MO_PG_HOST="$IP8"    # Only specify one Postgres node.

# Create a Postgres user for Monetization.
# Default username is "postgre". 
# If you specify a different user, that user must already exist.
MO_PG_USER=postgre    
MO_PG_PASSWD=moUserPWord

# Specify one ZooKeeper host.
# Ensure this is a ZooKeeper leader node in a multi-datacenter environment.
ZK_HOSTS="$IP2"

# Specify Cassandra information.
# Ensure CASS_HOSTS is set to the same value as when you installed Edge.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"

# Default is "Apigee", unless it was changed during Edge install.  
CASS_CLUSTERNAME=Apigee

# Cassandra uname/pword required only if you enabled Cassandra authentication. 
# CASS_USERNAME= 
# CASS_PASSWORD= 

# Specify the region. 
# Default is dc-1 unless you are in a multi-datacenter environment. 
REGION=dc-1 

# If your Edge config file did not specify SMTP information, add it. 
# Monetization requires an SMTP server. 
SMTPHOST=smtp.gmail.com 
SMTPPORT=465 
SMTPUSER=your@email.com 
SMTPPASSWORD=yourEmailPassword 
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"
หมายเหตุ
  • ถ้าไฟล์การกำหนดค่า Edge ไม่ได้ระบุข้อมูล SMTP ให้เพิ่มข้อมูลดังกล่าว การสร้างรายได้จำเป็นต้องมี เซิร์ฟเวอร์ SMTP
  • ในการติดตั้งศูนย์ข้อมูลเดี่ยว โหนด ZooKeeper ทั้งหมดจะได้รับการกำหนดค่าเริ่มต้นเป็น ผู้นำ เมื่อคุณติดตั้ง Edge ในศูนย์ข้อมูลหลายแห่ง โหนด ZooKeeper บางส่วนจะ เป็นผู้สังเกตการณ์ได้ ตรวจสอบว่าพร็อพเพอร์ตี้ ZK_HOSTS ด้านบนระบุโหนดผู้นำใน การติดตั้งศูนย์ข้อมูลหลายๆ แห่ง
  • หากเปิดใช้การตรวจสอบสิทธิ์ Cassandra คุณจะส่งชื่อผู้ใช้และรหัสผ่านของ Cassandra ได้ โดยใช้พร็อพเพอร์ตี้ต่อไปนี้
    CASS_USERNAME
    CASS_PASSWORD

ผสานรวมบริการสร้างรายได้ กับเซิร์ฟเวอร์การจัดการทั้งหมด

ใช้ขั้นตอนต่อไปนี้เพื่อรวมการสร้างรายได้ในโหนดเซิร์ฟเวอร์การจัดการ

  1. หากคุณติดตั้งการสร้างรายได้บนโทโพโลยี Edge ที่ใช้เซิร์ฟเวอร์การจัดการหลายเซิร์ฟเวอร์ เช่น การติดตั้ง 13 โหนด โปรดตรวจสอบว่าได้ติดตั้งเซิร์ฟเวอร์การจัดการทั้ง 2 โหนดแล้ว ก่อนที่จะติดตั้งการสร้างรายได้
  2. ในโหนดเซิร์ฟเวอร์การจัดการ ให้เรียกใช้สคริปต์การตั้งค่า
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    ตัวเลือก "-p mo" จะระบุการผสานรวมการสร้างรายได้

    ไฟล์การกำหนดค่าต้องเข้าถึงได้หรืออ่านได้โดย "apigee" ผู้ใช้
  3. หากคุณติดตั้งการสร้างรายได้บนโหนดเซิร์ฟเวอร์การจัดการหลายโหนด ให้ทำขั้นตอนที่ 2 ซ้ำ โหนดเซิร์ฟเวอร์การจัดการรายการที่ 2

เมื่อกำหนดค่าสำเร็จ ระบบจะสร้างสคีมา RDBMS สำหรับบริการการสร้างรายได้ใน ฐานข้อมูล PostgreSQL ซึ่งจะผสานรวมบริการการสร้างรายได้และที่เกี่ยวข้องให้เสร็จสมบูรณ์ คอมโพเนนต์ที่มีเซิร์ฟเวอร์ Postgres

ผสานรวมบริการสร้างรายได้ พร้อมตัวประมวลผลข้อความ (Message Processor) ทั้งหมด

ใช้ขั้นตอนต่อไปนี้เพื่อรวมการสร้างรายได้ในเครื่องมือประมวลผลข้อความทั้งหมด

  1. ในโหนดตัวประมวลผลข้อความแรก ให้เรียกใช้สคริปต์การตั้งค่าในพรอมต์คำสั่ง ดังนี้
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    ตัวเลือก "-p mo" จะระบุการผสานรวมการสร้างรายได้

    ไฟล์การกำหนดค่าต้องเข้าถึงได้หรืออ่านได้โดย "apigee" ผู้ใช้
  2. ทำขั้นตอนนี้ซ้ำในโหนดตัวประมวลผลข้อความทั้งหมด

เมื่อกำหนดค่าสำเร็จ ตัวประมวลผลข้อความจะได้รับการอัปเดตด้วยบริการสร้างรายได้ ช่วงเวลานี้ ผสานรวมบริการการสร้างรายได้และองค์ประกอบที่เกี่ยวข้องไว้กับข้อความ ผู้ประมวลผลข้อมูล

การเริ่มต้นใช้งานการสร้างรายได้

ในการสร้างองค์กรใหม่ที่เปิดใช้การสร้างรายได้ ก่อนอื่นคุณต้องสร้างองค์กรเป็น สำหรับองค์กรใหม่ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อเริ่มต้นใช้งานองค์กร

การเริ่มต้นใช้งานเพิ่มเติมเพื่อเปิดใช้การสร้างรายได้สำหรับองค์กร

หากต้องการดำเนินการเริ่มต้นใช้งานการสร้างรายได้ขององค์กรให้เสร็จสมบูรณ์ คุณต้องทำดังนี้

  1. สร้างกลุ่มการสร้างรายได้: mxgroup
  2. เพิ่ม Qpid ลงในกลุ่ม
  3. เปิดใช้การสร้างรายได้สำหรับองค์กร
  4. เปิดใช้การตั้งค่าการแจ้งเตือนสำหรับองค์กร
  5. ทำขั้นตอนนี้ซ้ำสำหรับทุกองค์กรที่คุณต้องการเปิดใช้การสร้างรายได้

ใช้enable-monetization เพื่อดำเนินการเหล่านี้ทั้งหมด สคริปต์นี้ใช้ไฟล์การกำหนดค่าที่มี พร็อพเพอร์ตี้ต่อไปนี้

MSIP=IPorDNSofManagementServer
APIGEE_PORT_HTTP_MS=8080    # Default is 8080.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
# Space-separated list IP/DNS names of all Qpid nodes in the data center being configured.
QPID_HOST="$IP6 $IP7"    
QPID_PORT=8083     # Default is 8083.
REGION=dc-1
ORG_NAME=myorg    # The Edge org where you want to enable monetization. 
MX_GROUP=mxgroup    # Default Monetization group.

หมายเหตุ

  • ตั้งค่า CASS_HOSTS และ REGION ไปยังค่าเดียวกันกับ ที่คุณใช้เมื่อติดตั้ง "การสร้างรายได้"
  • หากคุณเปิดใช้การสร้างรายได้ในการกำหนดค่าศูนย์ข้อมูลหลายแห่ง ให้ทำดังนี้
    • คุณต้องดำเนินการตามกระบวนการเริ่มต้นใช้งานซ้ำในเซิร์ฟเวอร์การจัดการในข้อมูลแต่ละรายการ
    • ไฟล์การกำหนดค่าควรแสดงเฉพาะโหนด Qpid ในศูนย์ข้อมูลที่กำลัง กำหนดค่าแล้ว

วิธีเรียกใช้สคริปต์

  1. เรียกใช้สคริปต์:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-provision enabled-monetization -f configFile

    ไฟล์การกำหนดค่าต้องเข้าถึงได้หรืออ่านได้โดย "apigee" ผู้ใช้

    หากคุณมีเซิร์ฟเวอร์การจัดการหลายเซิร์ฟเวอร์ คุณต้องเรียกใช้สคริปต์นี้บนเซิร์ฟเวอร์เพียงเครื่องเดียว

    สคริปต์นี้จำลององค์กร ผลิตภัณฑ์ นักพัฒนา และแอปพลิเคชันจาก Cassandra ไปยังฐานข้อมูล Monetization PostgreSQL หลังจากติดตั้งการสร้างรายได้สำเร็จแล้ว บริการต่างๆ ข้อมูลจะซิงค์โดยอัตโนมัติ
  2. ทำขั้นตอนนี้ซ้ำสำหรับทุกองค์กรที่คุณต้องการเปิดใช้การสร้างรายได้
  3. หากคุณอยู่ในสภาพแวดล้อมศูนย์ข้อมูลหลายแห่ง ให้ทำกระบวนการนี้ซ้ำในส่วนการจัดการ เซิร์ฟเวอร์ในศูนย์ข้อมูลอื่นๆ ตรวจสอบว่าไฟล์การกำหนดค่าแสดงเฉพาะโหนด Qpid ใน ศูนย์ข้อมูลที่กำลังกำหนดค่าอยู่

เมื่อคุณเข้าสู่ระบบ Edge UI ครั้งถัดไป คุณจะเห็นรายการการสร้างรายได้ในเมนูระดับบนสุดสำหรับ องค์กร

กำหนดค่านักพัฒนาซอฟต์แวร์ พอร์ทัลบริการ

หากต้องการกำหนดค่าพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์เพื่อสนับสนุนการสร้างรายได้ โปรดดู http://apigee.com/docs/monetization/content/configure-monetization-developer-portal

การเพิ่มโหนดเซิร์ฟเวอร์การจัดการ การติดตั้งการสร้างรายได้

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

วิธีเพิ่มเซิร์ฟเวอร์การจัดการ

  1. ติดตั้งเซิร์ฟเวอร์การจัดการใหม่
  2. ติดตั้งการสร้างรายได้ในเซิร์ฟเวอร์การจัดการใหม่
  3. ในเซิร์ฟเวอร์การจัดการเวอร์ชันเดิม ให้เรียกใช้คำสั่งต่อไปนี้
    &gt; /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server เลย mint-configure-mgmt-cluster
  4. รีสตาร์ทเซิร์ฟเวอร์การจัดการเดิม โดยทำดังนี้
    &gt; /opt/apigee/apigee-service/bin/apigee-service edge-management-server รีสตาร์ท
  5. ในเซิร์ฟเวอร์การจัดการใหม่ ให้เรียกรายการต่อไปนี้
    &gt; /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server เลย mint-configure-mgmt-cluster
  6. รีสตาร์ทเซิร์ฟเวอร์การจัดการใหม่ ดังนี้
    &gt; /opt/apigee/apigee-service/bin/apigee-service edge-management-server รีสตาร์ท

การกำหนดค่าเพิ่มเติม

ส่งเอกสารการเรียกเก็บเงินเป็น ไฟล์ PDF

การสร้างรายได้จะแสดงเอกสารการเรียกเก็บเงินแก่ผู้ใช้ปลายทางในรูปแบบ HTML วิธีระบุการเรียกเก็บเงิน เป็นไฟล์ PDF คุณจะสามารถผสานรวมการสร้างรายได้กับระบบการเรียกเก็บเงินที่เป็นไฟล์ PDF สร้างหรือออกใบอนุญาตให้แก่ไลบรารี PDF ของบุคคลที่สามที่รองรับ

กำหนดค่าองค์กร การตั้งค่า

การตั้งค่าแบ็กเอนด์: ตารางต่อไปนี้แสดงแอตทริบิวต์ระดับองค์กร ที่ใช้สำหรับกำหนดค่าองค์กรที่สร้าง (Mint) คุณสามารถใช้การเรียก PUT เพื่อเพิ่ม/อัปเดตรายการเหล่านี้ ตามที่แสดงด้านล่าง

> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT

ตัวอย่างเช่น เอาต์พุตของคำสั่ง CURL ด้านบนจะมีลักษณะดังนี้

{
...
    "displayName": "Orgnization name",
    "name": "org4",
    "properties": {
        "property": [
...
            {
                "name": "MINT_CURRENCY",
                "value": "USD"
            },
            {
                "name": "MINT_COUNTRY",
                "value": "US"
            },
            {
                "name": "MINT_TIMEZONE",
                "value": "GMT"
            }
        ]
    }
}

แอตทริบิวต์

คำอธิบาย

MINT_TAX_MODEL

ค่าที่ยอมรับคือ "ปิด"

UNDISCLOSED, HYBRID (ค่าเริ่มต้นคือ null)

MINT_CURRENCY

รหัสสกุลเงิน ISO (ค่าเริ่มต้นคือ Null)

MINT_TAX_NEXUS

หลักสัมพันธ์ในการเสียภาษี (ค่าเริ่มต้นคือ null)

MINT_DEFAULT_PROD_TAX_CATEGORY

หมวดหมู่ภาษีผลิตภัณฑ์เริ่มต้น (ค่าเริ่มต้นคือ Null)

MINT_IS_GROUP_ORG

องค์กรของกลุ่ม IS (ค่าเริ่มต้นคือ false)

MINT_HAS_BROKER

ใช้งานไม่ได้ (ค่าเริ่มต้นคือ false)

MINT_TIMEZONE

เขตเวลา (ค่าเริ่มต้นคือ Null)

MINT_TAX_ENGINE_EXTERNAL_ID

หมายเลขประจำตัวผู้เสียภาษี (ค่าเริ่มต้นคือ null)

MINT_COUNTRY

ประเทศขององค์กร (ค่าเริ่มต้นคือ null)

MINT_REG_NO

หมายเลขจดทะเบียนขององค์กรในสหราชอาณาจักรให้ตัวเลขที่ต่างจากหมายเลขประจำตัวผู้เสียภาษี (ค่าเริ่มต้นคือ Null)

MINT_BILLING_CYCLE_TYPE

PRORATED, CALENDAR_MONTH (ค่าเริ่มต้นคือ CALENDAR_MONTH)

MINT_SUPPORTED_BILLING_TYPE

ชำระเงินล่วงหน้า/ชำระภายหลัง/ทั้งคู่ (ค่าเริ่มต้นคือ PREPAID)

MINT_IS_SEPARATE_INV_FOR_FEES

ระบุว่าควรสร้างใบแจ้งหนี้ค่าธรรมเนียมแยกต่างหากหรือไม่ (ค่าเริ่มต้นคือ false)

MINT_ISSUE_NETTING_STMT

ระบุว่าควรออกใบแจ้งยอดสุทธิหรือไม่ (ค่าเริ่มต้นคือ false)

MINT_NETTING_STMT_PER_CURRENCY

ระบุว่าควรสร้างใบแจ้งยอดสุทธิต่อสกุลเงินหรือไม่ (ค่าเริ่มต้นคือ เท็จ)

MINT_HAS_SELF_BILLING

ระบุว่าองค์กรมีการเรียกเก็บเงินด้วยตนเองหรือไม่ (ค่าเริ่มต้นคือ false)

MINT_SELF_BILLING_FOR_ALL_DEV

ระบุว่าองค์กรมีการเรียกเก็บเงินด้วยตนเองสำหรับนักพัฒนาซอฟต์แวร์ทุกคนหรือไม่(ค่าเริ่มต้นคือ เท็จ)

MINT_HAS_SEPARATE_INV_FOR_PROD

ระบุว่าองค์กรมีใบแจ้งหนี้ต่อผลิตภัณฑ์แยกต่างหากหรือไม่ (ค่าเริ่มต้นคือ เท็จ)

MINT_HAS_BILLING_ADJUSTMENT

ระบุว่าองค์กรรองรับการแก้ไขการเรียกเก็บเงินหรือไม่ (ค่าเริ่มต้นคือ false)

features.isMonetizationEnabled

ใช้โดย UI การจัดการเพื่อแสดงเมนูเฉพาะสำหรับการสร้างรายได้ (ค่าเริ่มต้นคือ false)

ui.config.isOperator

ใช้โดย UI การจัดการเพื่อแสดงผู้ให้บริการเป็นโอเปอเรเตอร์ขององค์กร

(ค่าเริ่มต้นคือ true)

สำหรับการกำหนดการตั้งค่าองค์กรธุรกิจโดยใช้ UI การจัดการ โปรดดู http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services

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

นโยบายขีดจำกัดเป็นนโยบายที่ชัดเจนที่ออกแบบมาเพื่อบล็อกการเรียก API หากมีขีดจำกัดบางอย่าง ถึง แล้ว นโยบายจะตรวจสอบวงเงินของธุรกิจและจะเพิ่มข้อผิดพลาดหากมีขีดจำกัดเกิน ค่าที่กำหนดค่าไว้ นี่เป็นการขยายนโยบายความผิดของการเพิ่ม แต่ได้เงื่อนไขมา จากตัวแปรทางธุรกิจ

เทมเพลต UI มีอยู่ใน UI การจัดการสำหรับนักพัฒนาพร็อกซี นักพัฒนาพร็อกซีควร แนบนโยบายของ Mint ในขั้นตอนของข้อความ เมื่อบังคับใช้นโยบายนี้ ความผิดจะถูกยกขึ้น พร้อมการตอบสนองข้อผิดพลาดตามนโยบาย หากตั้งค่า ContinueOnError เป็น "จริง" แสดงว่าข้อผิดพลาด จะไม่มีการเพิ่มและตัวแปรโฟลว์ "mint.limitsViolated", "mint.isDevelopersuspended" และ "mint.limitsPolicyError" จะมีการตั้งตัวแปร ซึ่งสามารถใช้ในการจัดการข้อยกเว้นเพิ่มเติมได้ หากจำเป็น