Style Characteristics (คุณลักษณะของ Style)
เกณฑ์หลายอย่างที่เราใช้ประเมิน architecture style ในปัจจุบันไม่ได้เป็นสิ่งสำคัญในช่วงที่ orchestration-driven SOA ได้รับความนิยม ขบวนการซอฟต์แวร์แบบ Agile เพิ่งเริ่มต้นและยังไม่แพร่เข้าสู่องค์กร ขนาดใหญ่ที่มีแนวโน้มจะใช้ architecture นี้
การให้คะแนนหนึ่งดาวใน characteristics ratings table ใน Figure 17-5 หมายความว่า architecture characteristic นั้น ๆ ไม่ได้รับการรองรับที่ดีนักใน architecture ในขณะที่การให้ คะแนนห้าดาวหมายความว่า architecture characteristic นั้นเป็นหนึ่งใน feature ที่แข็งแกร่งที่สุดของ style นี้ คำนิยามของ characteristic ที่ระบุใน scorecard สามารถดูได้ใน Chapter 4 .
SOA อาจเป็น general-purpose architecture ที่ technically partitioned มากที่สุดเท่าที่เคยมีการพยายาม สร้างมา! อันที่จริง แรงต่อต้านข้อเสียของโครงสร้างนี้นำไปสู่ architecture ที่ทันสมัยกว่า เช่น microservices SOA มี quantum เดียว แม้จะเป็น distributed architecture ก็ตาม ด้วยเหตุผลสองประการ ประการแรก โดยทั่วไปมันใช้ฐานข้อมูลเดียวหรือแค่ไม่กี่ตัว ซึ่งสร้าง coupling point ข้าม concern ต่าง ๆ มากมาย ประการที่สอง และสำคัญกว่านั้น orchestration engine ทำหน้าที่เป็น coupling point ขนาดยักษ์—ไม่มี ส่วนใดของ architecture ที่จะมี characteristic แตกต่างไปจาก mediator ที่ orchestrate พฤติกรรมทั้งหมด ดังนั้น architecture นี้จึงพบข้อเสียของทั้ง monolithic และ distributed architecture รวมกัน
Figure 17-5. คะแนน characteristics ของ service-oriented architecture
เป้าหมาย engineering สมัยใหม่อย่าง deployability และ testability ได้คะแนนแย่มากใน architecture นี้ ทั้ง เพราะมันไม่ได้รับการรองรับที่ดี และเพราะสิ่งเหล่านั้นไม่ใช่เป้าหมายสำคัญ (หรือแม้แต่เป้าหมายที่ใฝ่ฝัน) ในช่วงที่มันถูกพัฒนาขึ้น
architecture นี้รองรับเป้าหมายบางอย่าง เช่น elasticity และ scalability แม้จะมีความยากลำบากในการ implement ก็ตาม vendor ของ tool ทุ่มความพยายามอย่างมหาศาลเพื่อทำให้ระบบเหล่านี้ scale ได้ ด้วยการสร้าง session replication ข้าม application server และเทคนิคอื่น ๆ อย่างไรก็ตาม เนื่องจากนี่เป็น distributed architecture performance จึงไม่เคยเป็นจุดเด่นเลย เพราะแต่ละ business request ถูกแบ่งกระจายไปทั่ว architecture มากเกินไป
เนื่องจากปัจจัยเหล่านี้ทั้งหมด simplicity และ cost จึงมีความสัมพันธ์แบบตรงข้ามกับที่สถาปนิกส่วนใหญ่ ต้องการ orchestration-driven SOA เป็นหมุดหมายสำคัญ เพราะมันสอนสถาปนิกให้เข้าใจขีดจำกัดในทางปฏิบัติของ technical partitioning และความยากลำบากของ distributed transaction ในโลกแห่งความเป็นจริง