OASIS CAP

JSON schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://docs.oasis-open.org/emergency/cap/v1.2/CAP-v1.2.json",
  "title": "OASIS Common Alerting Protocol (CAP) 1.2",
  "description": "JSON Schema representation of OASIS CAP 1.2 for emergency alerting and public warnings",
  "type": "object",
  "required": ["alert"],
  "properties": {
    "alert": {
      "type": "object",
      "required": ["identifier", "sender", "sent", "status", "msgType", "scope"],
      "properties": {
        "identifier": {
          "type": "string",
          "description": "The identifier of the alert message"
        },
        "sender": {
          "type": "string",
          "description": "The identifier of the sender of the alert message"
        },
        "sent": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[\\-+\\.]\\d{2}:\\d{2}$",
          "description": "The time and date of the origination of the alert message (ISO 8601 with timezone offset)"
        },
        "status": {
          "type": "string",
          "enum": ["Actual", "Exercise", "System", "Test", "Draft"],
          "description": "The code denoting the appropriate handling of the alert message"
        },
        "msgType": {
          "type": "string",
          "enum": ["Alert", "Update", "Cancel", "Ack", "Error"],
          "description": "The code denoting the nature of the alert message"
        },
        "source": {
          "type": "string",
          "description": "The text identifying the source of the alert message"
        },
        "scope": {
          "type": "string",
          "enum": ["Public", "Restricted", "Private"],
          "description": "The code denoting the intended distribution of the alert message"
        },
        "restriction": {
          "type": "string",
          "description": "The text describing the rule for limiting distribution of the alert message (required if scope is 'Restricted')"
        },
        "addresses": {
          "type": "string",
          "description": "The group listing of intended recipients of the alert message (required if scope is 'Private')"
        },
        "code": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Codes denoting special handling of the alert message"
        },
        "note": {
          "type": "string",
          "description": "The text describing the purpose or significance of the alert message"
        },
        "references": {
          "type": "string",
          "description": "The group listing identifying prior message(s) referenced by the alert message"
        },
        "incidents": {
          "type": "string",
          "description": "The group listing naming the referent incident(s) of the alert message"
        },
        "info": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/info"
          },
          "description": "Container for all component parts of the info sub-element of the alert message"
        }
      }
    }
  },
  "definitions": {
    "info": {
      "type": "object",
      "required": ["category", "event", "urgency", "severity", "certainty"],
      "properties": {
        "language": {
          "type": "string",
          "default": "en-US",
          "description": "The code denoting the language of the info sub-element (RFC 3066)"
        },
        "category": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": ["Geo", "Met", "Safety", "Security", "Rescue", "Fire", "Health", "Env", "Transport", "Infra", "CBRNE", "Other"]
          },
          "minItems": 1,
          "description": "The code denoting the category of the subject event"
        },
        "event": {
          "type": "string",
          "description": "The text denoting the type of the subject event"
        },
        "responseType": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": ["Shelter", "Evacuate", "Prepare", "Execute", "Avoid", "Monitor", "Assess", "AllClear", "None"]
          },
          "description": "The code denoting the type of action recommended for the target audience"
        },
        "urgency": {
          "type": "string",
          "enum": ["Immediate", "Expected", "Future", "Past", "Unknown"],
          "description": "The code denoting the urgency of the subject event"
        },
        "severity": {
          "type": "string",
          "enum": ["Extreme", "Severe", "Moderate", "Minor", "Unknown"],
          "description": "The code denoting the severity of the subject event"
        },
        "certainty": {
          "type": "string",
          "enum": ["Observed", "Likely", "Possible", "Unlikely", "Unknown"],
          "description": "The code denoting the certainty of the subject event"
        },
        "audience": {
          "type": "string",
          "description": "The text describing the intended audience of the alert message"
        },
        "eventCode": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/keyValue"
          },
          "description": "A system-specific code identifying the event type"
        },
        "effective": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[\\-+\\.]\\d{2}:\\d{2}$",
          "description": "The effective time of the information of the info sub-element"
        },
        "onset": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[\\-+\\.]\\d{2}:\\d{2}$",
          "description": "The expected time of the beginning of the subject event"
        },
        "expires": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[\\-+\\.]\\d{2}:\\d{2}$",
          "description": "The expiry time of the information of the info sub-element"
        },
        "senderName": {
          "type": "string",
          "description": "The text naming the originator of the alert message"
        },
        "headline": {
          "type": "string",
          "description": "The text headline of the alert message"
        },
        "description": {
          "type": "string",
          "description": "The text describing the subject event"
        },
        "instruction": {
          "type": "string",
          "description": "The text describing the recommended action"
        },
        "web": {
          "type": "string",
          "format": "uri",
          "description": "The identifier of the hyperlink associating additional information with the alert message"
        },
        "contact": {
          "type": "string",
          "description": "The text describing the contact for follow-up and confirmation of the alert message"
        },
        "parameter": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/keyValue"
          },
          "description": "A system-specific additional parameter"
        },
        "resource": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/resource"
          },
          "description": "Container for all component parts of the resource sub-element"
        },
        "area": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/area"
          },
          "description": "Container for all component parts of the area sub-element"
        }
      }
    },
    "resource": {
      "type": "object",
      "required": ["resourceDesc", "mimeType"],
      "properties": {
        "resourceDesc": {
          "type": "string",
          "description": "The text describing the type and content of the resource"
        },
        "mimeType": {
          "type": "string",
          "description": "The identifier of the MIME content type and sub-type describing the resource (RFC 2046)"
        },
        "size": {
          "type": "integer",
          "minimum": 0,
          "description": "The integer indicating the size of the resource in bytes"
        },
        "uri": {
          "type": "string",
          "format": "uri",
          "description": "The identifier of the hyperlink for the resource"
        },
        "derefUri": {
          "type": "string",
          "description": "The base64-encoded data content of the resource"
        },
        "digest": {
          "type": "string",
          "description": "The code representing the digital digest of the resource (SHA-1)"
        }
      }
    },
    "area": {
      "type": "object",
      "required": ["areaDesc"],
      "properties": {
        "areaDesc": {
          "type": "string",
          "description": "The text describing the affected area"
        },
        "polygon": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?,-?\\d+(\\.\\d+)?( -?\\d+(\\.\\d+)?,-?\\d+(\\.\\d+)?)+$"
          },
          "description": "The paired values of points defining a polygon (WGS 84)"
        },
        "circle": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?,-?\\d+(\\.\\d+)? \\d+(\\.\\d+)?$"
          },
          "description": "The paired values of a point and radius defining a circle (WGS 84)"
        },
        "geocode": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/keyValue"
          },
          "description": "A system-specific code identifying the affected area"
        },
        "altitude": {
          "type": "number",
          "description": "The specific or minimum altitude of the affected area (WGS 84 in meters)"
        },
        "ceiling": {
          "type": "number",
          "description": "The maximum altitude of the affected area (WGS 84 in meters)"
        }
      }
    },
    "keyValue": {
      "type": "object",
      "required": ["valueName", "value"],
      "properties": {
        "valueName": {
          "type": "string",
          "description": "The identifier of the type of value"
        },
        "value": {
          "type": "string",
          "description": "The value of the named type"
        }
      }
    }
  }
}

Schema Structure

alert (object) [required]
├── identifier (string) [required]
├── sender (string) [required]
├── sent (datetime) [required]
├── status (enum) [required]
├── msgType (enum) [required]
├── source (string)
├── scope (enum) [required]
├── restriction (string) [conditional]
├── addresses (string) [conditional]
├── code (array of string)
├── note (string)
├── references (string)
├── incidents (string)
└── info (array of object)
    ├── language (string) [default: "en-US"]
    ├── category (array of enum) [required]
    ├── event (string) [required]
    ├── responseType (array of enum)
    ├── urgency (enum) [required]
    ├── severity (enum) [required]
    ├── certainty (enum) [required]
    ├── audience (string)
    ├── eventCode (array of keyValue)
    ├── effective (datetime)
    ├── onset (datetime)
    ├── expires (datetime)
    ├── senderName (string)
    ├── headline (string)
    ├── description (string)
    ├── instruction (string)
    ├── web (URI)
    ├── contact (string)
    ├── parameter (array of keyValue)
    ├── resource (array of object)
    │   ├── resourceDesc (string) [required]
    │   ├── mimeType (string) [required]
    │   ├── size (integer)
    │   ├── uri (URI)
    │   ├── derefUri (string)
    │   └── digest (string)
    └── area (array of object)
        ├── areaDesc (string) [required]
        ├── polygon (array of string)
        ├── circle (array of string)
        ├── geocode (array of keyValue)
        ├── altitude (number)
        └── ceiling (number)

คำอธิบายละเอียดของแต่ละส่วนใน OASIS CAP JSON Schema


1. ระดับสูงสุด: alert (ข้อความเตือนภัยหลัก)

เป็นส่วนรากฐานของทุกข้อความ CAP บังคับต้องมี 1 ชุดต่อ 1 JSON

ฟิลด์ บังคับ รูปแบบ คำอธิบายและวัตถุประสงค์
identifier ✅ ใช่ string รหัสเฉพาะของข้อความนี้ (unique) ใช้อ้างอิงเวลาอัพเดตหรือยกเลิก ควรเป็น UUID หรือรหัสที่ไม่ซ้ำในระบบ เช่น "NWS-TOR-2024-001"
sender ✅ ใช่ string รหัสผู้ส่ง มักเป็น URL หรือ identifier ของหน่วยงาน เช่น "https://www.tmd.go.th" หรือ "noreply@ddpm.go.th"
sent ✅ ใช่ datetime เวลาที่ส่งข้อความ รูปแบบ YYYY-MM-DDThh:mm:ss±hh:mm (ISO 8601 + timezone) เช่น "2024-01-15T09:30:00+07:00"
status ✅ ใช่ enum สถานะของข้อความ บอกว่าเป็นเหตุการณ์จริงหรือทดสอบ
Actual = เหตุการณ์จริง
Exercise = การซ้อม
System = ข้อความระบบ
Test = ทดสอบ
Draft = ร่าง
msgType ✅ ใช่ enum ประเภทข้อความ
Alert = แจ้งเตือนใหม่
Update = อัพเดตข้อมูล (ต้องอ้างอิง references)
Cancel = ยกเลิกการแจ้งเตือนเดิม
Ack = ยืนยันการรับทราบ
Error = แจ้งข้อผิดพลาด
scope ✅ ใช่ enum ขอบเขตการเผยแพร่
Public = สาธารณะ (ไม่มีข้อจำกัด)
Restricted = จำกัดกลุ่ม (ต้องระบุ restriction)
Private = เฉพาะกลุ่ม (ต้องระบุ addresses)
source ❌ ไม่ string แหล่งที่มา เช่น "ระบบตรวจจับแผ่นดินไหวอัตโนมัติ" หรือ "เจ้าหน้าที่ดูแลเขื่อน A"
restriction ⚠️ มีเงื่อนไข string กฎการจำกัดการเข้าถึง บังคับใช้เมื่อ scope = Restricted เช่น "สำหรับเจ้าหน้าที่ฝ่ายความมั่นคงเท่านั้น"
addresses ⚠️ มีเงื่อนไข string รายการผู้รับ บังคับใช้เมื่อ scope = Private คั่นด้วยช่องว่าง เช่น "user1@example.com user2@example.com"
code ❌ ไม่ array รหัสพิเศษ ของระบบ (เช่น รหัสหมวดหมู่ภายในองค์กร)
note ❌ ไม่ string หมายเหตุ เช่น "ข้อความนี้ทดสอบระบบ" หรือคำอธิบายเพิ่มเติม
references ❌ ไม่ string อ้างอิงข้อความก่อนหน้า ใช้เมื่อ msgType เป็น Update หรือ Cancel รูปแบบ: sender,identifier,sent คั่นด้วยช่องว่าง
incidents ❌ ไม่ string รหัสเหตุการณ์ ใช้กรณีที่หลายข้อความ CAP เชื่อมโยงกับเหตุการณ์เดียวกัน
info ❌ ไม่ array รายละเอียดเหตุการณ์ (ดูส่วนที่ 2) สามารถมีได้หลายภาษาหรือหลายระดับความรุนแรง

2. ระดับรอง: info (รายละเอียดเหตุการณ์)

บรรจุข้อมูลสาระสำคัญของเหตุการณ์ 1 ชุด alert สามารถมี info ได้หลายชุด (เช่น ภาษาไทย/อังกฤษ หรือระดับความรุนแรงต่างกัน)

ฟิลด์ บังคับ รูปแบบ คำอธิบายและวัตถุประสงค์
language ❌ ไม่ string ภาษา ตาม RFC 3066 (ค่าเริ่มต้น en-US) เช่น "th-TH" สำหรับไทย
category ✅ ใช่ array หมวดหมู่เหตุการณ์ (เลือกได้หลายอัน)
Geo = ธรณีวิทยา (แผ่นดินไหว, ภูเขาไฟ)
Met = อุตุนิยมวิทยา (พายุ, ฝน)
Safety = ความปลอดภัย
Security = ความมั่นคง
Rescue = กู้ภัย
Fire = เพลิงไหม้
Health = สาธารณสุข
Env = สิ่งแวดล้อม
Transport = คมนาคม
Infra = โครงสร้างพื้นฐาน
CBRNE = เคมี/ชีวะ/รังสี/นิวเคลียร์/ระเบิด
Other = อื่นๆ
event ✅ ใช่ string ชื่อเหตุการณ์ เช่น "พายุโนรู" หรือ "แผ่นดินไหว"
responseType ❌ ไม่ array คำแนะนำการปฏิบัติตัว
Shelter = หลบภัยในที่อยู่อาศัย
Evacuate = อพยพ
Prepare = เตรียมพร้อม
Execute = ปฏิบัติตาม
Avoid = หลีกเลี่ยง
Monitor = เฝ้าระวัง
Assess = ประเมินสถานการณ์
AllClear = ยกเลิกการเตือน
None = ไม่ต้องทำอะไร
urgency ✅ ใช่ enum ความเร่งด่วน (เวลาที่เหลือปฏิบัติตัว)
Immediate = ทันที (ภายใน 1 ชม.)
Expected = คาดว่าจะเกิด (1-12 ชม.)
Future = อนาคต (มากกว่า 12 ชม.)
Past = ที่ผ่านมาแล้ว
Unknown = ไม่ทราบ
severity ✅ ใช่ enum ความรุนแรง (ผลกระทบ)
Extreme = รุนแรงมาก (คุกคามชีวิต/ทรัพย์สินเสียหายหนัก)
Severe = รุนแรง (อันตรายถึงชีวิต ทรัพย์สินเสียหาย)
Moderate = ปานกลาง (อาจบาดเจ็บ/เสียหาย)
Minor = เล็กน้อย (ไม่น่ากลัว)
Unknown = ไม่ทราบ
certainty ✅ ใช่ enum ความแน่นอน (ความมั่นใจในข้อมูล)
Observed = สังเกตเห็นแล้ว (เกิดขึ้นจริง)
Likely = มีความเป็นไปได้สูง (>50%)
Possible = อาจเกิดขึ้นได้ (แต่ไม่แน่นอน)
Unlikely = มีความเป็นไปได้ต่ำ
Unknown = ไม่ทราบ
audience ❌ ไม่ string กลุ่มเป้าหมาย เฉพาะ เช่น "ประชาชนในเขตเทศบาลเมือง" หรือ "นักท่องเที่ยวบนภูเขา"
eventCode ❌ ไม่ array รหัสเหตุการณ์เฉพาะระบบ ใช้คู่ key-value (เช่น รหัส TMD, รหัส DDPM)
effective ❌ ไม่ datetime เวลาที่เริ่มมีผล ข้อความมีผลตั้งแต่เมื่อไหร่
onset ❌ ไม่ datetime เวลาที่คาดว่าเหตุการณ์จะเริ่ม เช่น พายุจะถึงฝั่ง
expires ❌ ไม่ datetime เวลาหมดอายุ ข้อความจะไม่มีผลหลังจากเวลานี้
senderName ❌ ไม่ string ชื่อผู้ส่ง ที่อ่านเข้าใจ เช่น "กรมอุตุนิยมวิทยา"
headline ❌ ไม่ string หัวข้อข่าว สั้นๆ ดึงดูดสายตา เช่น "เตือนพายุโนรูฝนตกหนัก กทม."
description ❌ ไม่ string รายละเอียดเหตุการณ์ คำอธิบายยาวๆ ว่าเกิดอะไรขึ้น
instruction ❌ ไม่ string คำแนะนำ ว่าประชาชนควรทำอย่างไร เช่น "เตรียมถุงยังชีพ เก็บของมีค่าให้สูง"
web ❌ ไม่ URI ลิงก์ ไปยังหน้าข้อมูลเพิ่มเติม
contact ❌ ไม่ string ข้อมูลติดต่อ เช่น "โทร. 02-xxx-xxxx"
parameter ❌ ไม่ array พารามิเตอร์เฉพาะทาง เช่น ความเร็วลม, ความลึกใต้ดิน (ใช้คู่ key-value)
resource ❌ ไม่ array ทรัพยากรแนบ รูปภาพ/เสียง (ดูส่วนที่ 3)
area ❌ ไม่ array พื้นที่ได้รับผลกระทบ (ดูส่วนที่ 4)

3. ระดับรอง: resource (ไฟล์แนบ/ทรัพยากร)

ใช้แนบรูปภาพ, เสียง, วิดีโอ หรือเอกสารประกอบ

ฟิลด์ บังคับ รูปแบบ คำอธิบาย
resourceDesc ✅ ใช่ string คำอธิบายทรัพยากร เช่น "แผนที่เส้นทางอพยพ" หรือ "เสียงสัญญาณเตือน"
mimeType ✅ ใช่ string ประเภทไฟล์ ตาม MIME type (RFC 2046) เช่น "image/jpeg", "audio/mpeg", "application/pdf"
size ❌ ไม่ integer ขนาดไฟล์ เป็นหน่วยไบต์ (bytes)
uri ❌ ไม่ URI ลิงก์ดาวน์โหลด URL ที่เข้าถึงไฟล์ได้
derefUri ❌ ไม่ string ข้อมูลฝังตัว ข้อมูลไฟล์เข้ารหัส base64 (ใช้เมื่อไม่มี uri หรือต้องการส่งติดมากับข้อความ)
digest ❌ ไม่ string แฮชตรวจสอบ ค่า SHA-1 ของไฟล์ เพื่อยืนยันว่าไฟล์ไม่ถูกแก้ไขระหว่างทาง

หมายเหตุ: ต้องมี uri หรือ derefUri อย่างน้อยหนึ่งอัน (แม้ใน schema จะไม่ได้บังคับไว้ แต่ตาม logic ควรมี)


4. ระดับรอง: area (พื้นที่มิติภูมิศาสตร์)

กำหนดขอบเขตพื้นที่ที่ได้รับผลกระทบ รองรับ 2D และ 3D

ฟิลด์ บังคับ รูปแบบ คำอธิบาย
areaDesc ✅ ใช่ string ชื่อพื้นที่ เช่น "เขตบางเขน กรุงเทพฯ" หรือ "ตำบล x อำเภอ y"
polygon ❌ ไม่ array รูปหลายเหลี่ยม แต่ละ item เป็น string ของคู่พิกัด "ละติจูด,ลองจิจูด" คั่นด้วยช่องว่าง
ตัวอย่าง: "13.7563,100.5018 13.7600,100.5100 13.7500,100.5100" (ปิดท้ายที่จุดเริ่มต้นหรือไม่ก็ได้)
circle ❌ ไม่ array วงกลม รูปแบบ "ละติจูด,ลองจิจูด รัศมี" (รัศมีเป็นหน่วยกิโลเมตร)
ตัวอย่าง: "13.7563,100.5018 5.0" (วงกลม 5 กม. จากจุดศูนย์กลาง)
geocode ❌ ไม่ array รหัสพื้นที่ ใช้คู่ key-value เช่น "FIPS" = "10001" หรือ "ISO3166-2" = "TH-10"
altitude ❌ ไม่ number ความสูงต่ำสุด จากระดับน้ำทะเล (เมตร) ใช้กับ WGS 84
ceiling ❌ ไม่ number ความสูงสูงสุด (ต้องระบุคู่กับ altitude) สร้างช่วงความสูงที่มีผลกระทบ

รูปแบบพิกัด (WGS 84): - ละติจูด: -90 ถึง 90 (ทิศเหนือเป็นบวก ใต้เป็นลบ) - ลองจิจูด: -180 ถึง 180 (ทิศตะวันออกเป็นบวก ตะวันตกเป็นลบ)


5. โครงสร้างย่อย: keyValue (คู่ค่าทั่วไป)

ใช้ซ้ำใน eventCode, geocode, parameter

ฟิลด์ บังคับ รูปแบบ คำอธิบาย
valueName ✅ ใช่ string ชื่อตัวแปร/ระบบ เช่น "SAME", "FIPS", " intensity", "windSpeed"
value ✅ ใช่ string ค่าของตัวแปร เช่น "CEM", "075", "7.5", "120"

ตัวอย่างการใช้งานจริง (แผ่นดินไหว)

{
  "alert": {
    "identifier": "TMD-EARTHQUAKE-2024-0215-001",
    "sender": "https://www.tmd.go.th",
    "sent": "2024-02-15T14:30:00+07:00",
    "status": "Actual",
    "msgType": "Alert",
    "scope": "Public",
    "source": "เครือข่ายสถานีเขย่าไหวอัตโนมัติ",
    "info": [
      {
        "language": "th-TH",
        "category": ["Geo"],
        "event": "แผ่นดินไหว",
        "urgency": "Immediate",
        "severity": "Severe",
        "certainty": "Observed",
        "headline": "แผ่นดินไหวขนาด 5.2 แมกนิจูด จ.เชียงใหม่",
        "description": "เกิดแผ่นดินไหวขนาด 5.2 ความลึก 12 กม. ศูนย์กลางบริเวณอ.แม่ริม จ.เชียงใหม่ รู้สึกสั่นไหวในพื้นที่ใกล้เคียง",
        "instruction": "หลบใต้โต๊ะแข็งแรง อย่าออกจากอาคารขณะสั่นไหว ระวังอาฟเตอร์ช็อก",
        "parameter": [
          {
            "valueName": "magnitude",
            "value": "5.2"
          },
          {
            "valueName": "depth",
            "value": "12"
          }
        ],
        "area": [
          {
            "areaDesc": "อำเภอแม่ริม จังหวัดเชียงใหม่",
            "circle": ["18.9264,98.8912 15.0"],
            "geocode": [
              {
                "valueName": "ISO3166-2",
                "value": "TH-50"
              }
            ]
          }
        ],
        "resource": [
          {
            "resourceDesc": "แผนที่ศูนย์กลางแผ่นดินไหว",
            "mimeType": "image/png",
            "uri": "https://www.tmd.go.th/images/eq-20240215.png"
          }
        ]
      }
    ]
  }
}

References


สร้างเมื่อ: 2024
มาตรฐาน: OASIS CAP v1.2

OASIS (อ่านว่า "โอเอซิส") ย่อมาจาก Organization for the Advancement of Structured Information Standards หรือชื่อภาษาไทยว่า "องค์กรส่งเสริมมาตรฐานข้อมูลโครงสร้าง" เป็นองค์กรไม่แสวงหาผลกำไรระดับโลกที่มีบทบาทสำคัญอย่างยิ่งในการกำหนดมาตรฐานเทคโนโลยีสารสนเทศที่เราใช้กันในปัจจุบัน


1. ประวัติการก่อตั้ง

จุดเริ่มต้น: ปี 1993 (ชื่อเดิม SGML Open)

การเปลี่ยนชื่อและขยายขอบเขต: 1998


2. ลักษณะองค์กรและโครงสร้าง

สถานะทางกฎหมาย

ขนาดและขอบเขต


3. วัตถุประสงค์และพันธกิจ (ตั้งขึ้นเพื่ออะไร?)

OASIS ถูกตั้งขึ้นเพื่อแก้ปัญหาที่ใหญ่ที่สุดในโลกดิจิทัลยุคแรกๆ นั่นคือ "การขาดความสามารถในการทำงานร่วมกัน (Interoperability)" ระหว่างระบบต่างๆ

วัตถุประสงค์หลัก 5 ประการ:

  1. พัฒนามาตรฐานเปิด (Open Standards)

    • สร้างมาตรฐานที่เปิดเผย ไม่มีลิขสิทธิ์ข้อจำกัด ใครก็ใช้ได้ฟรี
    • ไม่ใช่มาตรฐานเฉพาะของบริษัทใดบริษัทหนึ่ง (Non-proprietary)
  2. ส่งเสริมความสามารถในการทำงานร่วมกัน (Interoperability)

    • ให้ระบบคอมพิวเตอร์ที่แตกต่างกันสามารถแลกเปลี่ยนข้อมูลได้อย่างปลอดภัยและมีประสิทธิภาพ
    • ลดการพึ่งพาซัพพลายเออร์รายเดียว (Vendor Lock-in)
  3. สร้างกระบวนการที่โปร่งใสและเป็นประชาธิปไตย

    • ใช้กระบวนการ "Lightweight, Open Process" ที่เน้นความเห็นฉันท์ (Consensus)
    • สมาชิกเป็นผู้กำหนดวาระการทำงาน (Technical Agenda) ไม่ใช่เจ้าหน้าที่องค์กร
  4. เชื่อมโยงไปสู่มาตรฐานระดับชาติและนานาชาติ (De Jure Standards)

    • มาตรฐาน OASIS หลายตัวได้รับการอนุมัติเป็น ISO, IEC, หรือ ITU-T ในภายหลัง
    • ตัวอย่าง: OpenDocument → ISO/IEC 26300, SAML → ITU-T X.1141, CAP → ITU-T X.1303
  5. สนับสนุนโครงการ Open Source

    • ให้โครงการ Open Source มีพื้นที่พัฒนาและเส้นทางสู่การเป็นมาตรฐานสากล

4. มาตรฐานที่สำคัญที่ OASIS ดูแล (นอกเหนือจาก CAP)

OASIS เป็นบ้านของมาตรฐานเทคโนโลยีที่ใช้กันทั่วโลกหลายสิบตัว :

ด้านความมั่นคงปลอดภัย (Cybersecurity)

ด้าน Internet of Things (IoT) และ Messaging

ด้านเอกสารและเนื้อหา (Content Technologies)

ด้านธุรกิจและภาครัฐ

ด้าน Cloud Computing และ Infrastructure


5. กระบวนการทำงาน (How OASIS Works)

OASIS ใช้ระบบ Technical Committee (TC) ในการพัฒนามาตรฐาน :

  1. เสนอโครงการ: สมาชิกเสนอความต้องการพัฒนามาตรฐานใหม่
  2. จัดตั้งคณะกรรมการ: ตั้ง TC ขึ้นมาดำเนินการ (เลือกตั้งประธานและเจ้าหน้าที่เอง)
  3. พัฒนาร่าง: ทำงานร่วมกันแบบเปิดเผย มีการประชุมและแก้ไขข้อมูลบนแพลตฟอร์มออนไลน์
  4. รับฟังความคิดเห็นสาธารณะ (Public Review): เปิดให้ประชาชนทั่วไปแสดงความคิดเห็นก่อนอนุมัติ
  5. อนุมัติมาตรฐาน: เมื่อได้รับความเห็นฉันท์ (Consensus) จะประกาศเป็น OASIS Standard
  6. ส่งต่อองค์กรใหญ่: สามารถส่งมอบให้ ISO, ITU, IEC พิจารณาเป็นมาตรฐานสากลต่อไป

หลักการสำคัญ


6. ความสัมพันธ์กับองค์กรอื่น

OASIS ทำงานร่วมกับองค์กรมาตรฐานระดับโลกหลายแห่ง :