Skip to content

Latest commit

 

History

History
88 lines (85 loc) · 9.67 KB

8.4. Application architectures.md

File metadata and controls

88 lines (85 loc) · 9.67 KB

Application architectures Application architectures

  • ระบบ Application ได้รับการออกแบบเพื่อตอบสนองความต้องการขององค์กร
  • โดยส่วนใหญ่ระบบธุรกิจจะมีกิจกรรมที่เหมือน ๆ กัน
  • ระบบ application มักมีสถาปัตยกรรมที่สะท้อนถึงความต้องการของ
  • สถาปัตยกรรมแอ็พพลิเคชันทั่วไป (generic application architecture) เป็นสถาปัตยกรรมที่สามารถ config ระบบให้เข้ากับ requirement ได้โดยง่าย Use of application architectures
  • เป็นจุดเริ่มต้นของการออกแบบสถาปัตยกรรม
  • เป็นรายการตรวจสอบการออกแบบ
  • เป็นวิธีการจัดงานของทีมพัฒนา
  • เป็นวิธีการประเมินส่วนประกอบเพื่อนำกลับมาใช้ใหม่
  • เป็นคำศัพท์สำหรับการพูดถึงประเภทของแอพพลิเคชั่น Examples of application types
  • แอปพลิเคชันประมวลผลข้อมูล (Data processing applications)
  • ขับเคลื่อนด้วยข้อมูลซึ่งประมวลผลข้อมูลในแบทช์
  • ไม่มีการแทรกแซงหรือโต้ตอบใดๆ จากผู้ใช้อย่างชัดเจนในระหว่างการประมวลผล
  • แอปพลิเคชันประมวลผลธุรกรรม (Transaction processing applications)
  • แอ็พพลิเคชันที่เน้นข้อมูล
  • เป็นข้อมูลซึ่งประมวลผลคำขอของผู้ใช้และอัพเดตข้อมูลในฐานข้อมูลระบบ
  • ระบบประมวลผลเหตุการณ์ (Event processing systems)
  • การทำงานของระบบจะขึ้นอยู่กับการตีความเหตุการณ์จากสภาพแวดล้อมของระบบ
  • ระบบประมวลผลภาษา (Language processing systems)
  • อินพุตจากผู้ใช้ระบุไว้ในภาษาทางการ ซึ่งประมวลผลและตีความโดยระบบ Application type examples สถาปัตยกรรมแอ็พพลิเคชันทั่วไปที่ใช้กันอย่างแพร่หลายสองอย่างคือ
  • ระบบประมวลผลธุรกรรม (Transaction processing systems)
  • ระบบอีคอมเมิร์ซ
  • ระบบการจอง
  • ระบบประมวลผลภาษา (Language processing systems)
  • คอมไพเลอร์
  • ระบบประมวลผลคำสั่ง (Command interpreters)

Transaction processing systems

  • ประมวลผลคำขอของผู้ใช้ฐานข้อมูล เพื่อขอข้อมูลหรือขออัพเดตฐานข้อมูล
  • จากมุมมองของผู้ใช้ธุรกรรมคือ:
  • ทำงานตามลำดับการทำงานที่กำหนดไว้ เพื่อให้บรรลุเป้าหมาย
  • ตัวอย่างเช่น - หาเวลาเที่ยวบินจากลอนดอนไปปารีส
  • ผู้ใช้ร้องขอแบบ asynchronous สำหรับบริการที่ประมวลผลโดย transaction manager The structure of transaction processing applications The software architecture of an ATM system Information systems architecture
  • ระบบสารสนเทศมีสถาปัตยกรรมทั่วไป (generic architecture) ที่สามารถจัดเป็นสถาปัตยกรรมแบบชั้น ๆ ได้
  • การทำธุรกรรมตามการปฏิสัมพันธ์กับระบบเหล่านี้มักเกี่ยวข้องกับการทำธุรกรรมฐานข้อมูล
  • เลเยอร์ต่าง ๆ รวมถึง
  • ส่วนติดต่อผู้ใช้
  • การสื่อสารกับผู้ใช้
  • การดึงข้อมูล
  • ฐานข้อมูลระบบ Layered information system architecture The architecture of the Mentcare system Server implementation
  • เซิร์ฟเวอร์มักถูกสร้างเป็นสถาปัตยกรรมของไคลเอ็นต์หลายชั้น (multi-tier)
  • เว็บเซิร์ฟเวอร์มีหน้าที่รับผิดชอบในการสื่อสารกับผู้ใช้ทุกคน โดยมี user interface สำหรับผู้ใช้ที่ทำงานบนเว็บเบราเซอร์
  • application server มีหน้าที่รับผิดชอบในการดำเนินลอจิกเฉพาะแอ็พพลิเคชันรวมถึงการจัดเก็บและเรียกข้อมูล
  • database server จะย้ายข้อมูลเข้า-ออกจากฐานข้อมูลและจัดการธุรกรรม Language processing systems
  • ระบบนี้จะยอมรับภาษาธรรมชาติหรือภาษาเทียมเป็นข้อมูลเข้าและสร้างภาษาอื่น ๆ ขึ้นมาแทนที่
  • อาจมี interpreter เพื่อดำเนินการตามคำแนะนำในภาษาที่กำลังดำเนินการอยู่
  • นิยมใช้เมื่อต้องการวิธีที่ง่ายที่สุด สำหรับแก้ปัญหาในการอธิบายอัลกอริทึมหรืออธิบายข้อมูลระบบ
  • Meta-case tools process tool descriptions, method rules, เป็นต้น รวมทั้ง generate tools

Web-based information systems

  • ระบบสารสนเทศและการจัดการทรัพยากรมักเป็นระบบบนเว็บ
  • ส่วนอินเทอร์เฟซผู้ใช้ จะ implement เป็นระบบที่ใช้เว็บเบราเซอร์
  • ตัวอย่างเช่นระบบอีคอมเมิร์ซ
  • เป็นระบบการจัดการทรัพยากรทางอินเทอร์เน็ตที่รับการสั่งซื้อสินค้าหรือบริการอิเล็กทรอนิกส์แล้วจัดเตรียมการส่งมอบสินค้าหรือบริการเหล่านี้ให้กับลูกค้า
  • ในระบบอีคอมเมิร์ซ
  • application-specific layer มีฟังก์ชันเพิ่มเติมที่สนับสนุน 'รถเข็นช็อปปิ้ง’
  • ผู้ใช้สามารถวางรายการสินค้าจำนวนหนึ่งไว้ในธุรกรรมแยกต่างหาก
  • จากนั้นจ่ายเงินทั้งหมดในการทำรายการเดียว The architecture of a language processing system Compiler components
  • A lexical analyzer
  • รับสัญลักษณ์ของภาษาในการป้อนข้อมูลและแปลงเป็นรูปแบบภายใน
  • A symbol table
  • เก็บข้อมูลเกี่ยวกับชื่อของเอนทิตี (ตัวแปร ชื่อคลาส ชื่อวัตถุ ฯลฯ ) ที่ใช้ในข้อความที่กำลังแปล
  • A syntax analyzer
  • วิเคราะห์ไวยากรณ์ ซึ่งจะตรวจสอบไวยากรณ์ของภาษาที่แปล
  • A syntax tree
  • โครงสร้างไวยากรณ์ ซึ่งเป็นโครงสร้างภายในที่แสดงถึงโปรแกรมที่คอมไพล์

Compiler components

  • A semantic analyzer
  • ใช้ข้อมูลจากโครงสร้างไวยากรณ์และตารางสัญลักษณ์เพื่อตรวจสอบความถูกต้องของความหมายของข้อความภาษาอินพุต
  • A code generator
  • ดำเนินการตาม syntax tree และสร้างรหัสภาษาเครื่อง A repository architecture for a language processing system A pipe and filter compiler architecture