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