คำถามติดแท็ก enterprise-architecture

การออกแบบระดับสูงและคำอธิบายของระบบซอฟต์แวร์ที่มีลักษณะบ่อยครั้งโดยมีข้อมูลถาวรจำนวนมากที่สามารถเข้าถึงได้พร้อมกัน

4
เหตุใด บริษัท การเงิน / ประกันภัยขนาดใหญ่ควรใช้ git และ / หรือ gitub
ฉันทำงานให้กับองค์กรขนาดใหญ่ (พนักงาน 30K) ในอุตสาหกรรมการเงิน / ประกันภัย ในขณะที่ "ไอที" ไม่ใช่สิ่งที่เราให้ความสำคัญ แต่ก็คืออุตสาหกรรมเหล่านี้เป็นอุตสาหกรรมที่ใช้ข้อมูลเป็นหลักและ บริษัท ที่มีความได้เปรียบด้านเทคโนโลยีที่ดีกว่า บริษัท ของฉันมีทีมพัฒนาซอฟต์แวร์มากมาย พวกมันอยู่เหนือแผนที่พร้อมการควบคุมเวอร์ชันใช้ภาษา / กรอบงานเพียงอย่างเดียว บางคนไม่ใช้ (ฉันรู้) บางคนใช้ PVCS บางคนใช้ VSS และใช้ SVN ที่รู้แจ้งมากที่สุด ฉันต้องการนำคอมไพล์มาสู่องค์กรของฉัน โดยเฉพาะฉันต้องการนำ GitHub (ที่เก็บส่วนตัว) ฉันรู้ว่าคนที่เหมาะสมในการพูดคุยเกี่ยวกับเรื่องนี้ แต่ขอให้ซื่อสัตย์อีกครั้งการเคลื่อนไหวที่รุนแรงเช่นนี้มักจะถูกยิงในองค์กรขนาดใหญ่เนื่องจากความกังวลด้านความปลอดภัยที่คลุมเครือหรือความจริงที่ว่าไม่มีคู่แข่งของเราใช้งาน อ้างอิงเฉพาะ jQuery, Ruby on Rails, Facebook และอื่น ๆ เป็นข้อมูลอ้างอิง) ดังนั้นคำถามของฉันคือสิ่งนี้ อะไรคือเหตุผลที่น่าสนใจที่สุดว่าทำไมองค์กรขนาดใหญ่ควรช้าและตั้งใจเปลี่ยนจาก PVCS / VSS / SVN เป็นโซลูชัน git …

2
cloud computing สามารถแทนที่สถาปัตยกรรมองค์กรได้หรือไม่
การประมวลผลแบบคลาวด์เป็นผู้ใหญ่พอที่จะบรรเทาความเจ็บปวดบางอย่างในการบำรุงรักษาโครงสร้างพื้นฐานด้านไอทีบนเว็บไซต์หรือไม่? ถ้าเป็นเช่นนั้นมีข้อเสียอะไรบ้างในการนำมาใช้? ความปลอดภัยและความเป็นส่วนตัวเป็นปัญหาใหญ่หรือไม่

4
ทำอย่างไรให้พอดีกับกฎของเอ็นจินในสถาปัตยกรรมไมโครเซอร์วิสเมื่อต้องการข้อมูลอินพุตจำนวนมาก?
สถานการณ์ปัจจุบัน เรากำลังดำเนินการ (และตอนนี้ยังคงรักษา) เว็บแอปพลิเคชันการช็อปปิ้งออนไลน์ในสถาปัตยกรรม microservice หนึ่งในความต้องการก็คือธุรกิจจะต้องสามารถใช้กฎกับสิ่งที่ลูกค้าของเราเพิ่มลงในรถเข็นของพวกเขาเพื่อปรับแต่งประสบการณ์ของพวกเขาและลำดับท้ายที่สุด เห็นได้ชัดว่าต้องวางเอ็นจิ้นกฎทางธุรกิจและเราได้ใช้ "บริการไมโคร" ที่เฉพาะเจาะจงสำหรับสิ่งนี้ (ถ้าเรายังคงเรียกมันได้) ในช่วงหนึ่งปีที่ผ่านมาเอ็นจินกฎนี้มีความซับซ้อนมากขึ้นเรื่อย ๆ ต้องการข้อมูลมากขึ้น (เช่นเนื้อหาของรถเข็น แต่ยังรวมถึงข้อมูลผู้ใช้บทบาทของเขาบริการที่มีอยู่ของเขาข้อมูลการเรียกเก็บเงินบางอย่างเป็นต้น) เพื่อให้สามารถ คำนวณกฎเหล่านั้น ในขณะนี้shopping-cartmicroservice ของเรากำลังรวบรวมข้อมูลทั้งหมดจาก microservices อื่น ๆ แม้ว่าส่วนหนึ่งของข้อมูลนี้จะถูกใช้งานโดยshopping-cartส่วนใหญ่จะใช้เพื่อป้อนกฎของเครื่องมือเป็นส่วนใหญ่ ข้อกำหนดใหม่ ตอนนี้มาถึงความต้องการแอปพลิเคชั่น / ไมโครไซต์อื่นเพื่อนำเอ็นจินกฎกลับมาใช้ใหม่สำหรับข้อกำหนดที่คล้ายกัน ในสถานการณ์ปัจจุบันพวกเขาจะต้องส่งข้อมูลชนิดเดียวกันเรียกไมโครไซต์เดียวกันและสร้าง (เกือบ) ทรัพยากรเดียวกันเพื่อให้สามารถเรียกเครื่องมือกฎ ดำเนินการต่อตามที่เป็นอยู่เราจะเผชิญกับปัญหาหลายประการ: ทุกคน (เรียกเครื่องมือกฎ) ต้องนำการดึงข้อมูลกลับมาใช้ใหม่แม้ว่าพวกเขาจะไม่ต้องการมัน การร้องขอไปยังเอ็นจินกฎมีความซับซ้อน ต่อไปในทิศทางนี้เราจะต้องขนส่งข้อมูลนี้ไปทั่วเครือข่ายสำหรับคำขอจำนวนมาก (คิดว่าμs A μsโทรμs B เรียกเครื่องมือกฎ แต่ A มีข้อมูลที่ต้องการกฎเครื่องยนต์อยู่แล้ว); shopping-cart ได้กลายเป็นใหญ่เนื่องจากการดึงข้อมูลทั้งหมด ฉันอาจลืม ... เราจะทำอย่างไรเพื่อหลีกเลี่ยงปัญหาเหล่านี้ เป็นการดีที่เราจะหลีกเลี่ยงการเพิ่มความซับซ้อนมากขึ้นในเครื่องมือกฎ …

2
วิธีการตรวจสอบว่าข้อความควรเป็นข้อความคำสั่งหรือข้อความเหตุการณ์?
สองรูปแบบรวมกิจการเป็นข้อความคำสั่งและข้อความเหตุการณ์ ฉันกำลังทำงานกับระบบที่เราใช้การส่งข้อความไม่เพียง แต่สำหรับการรวมเข้ากับระบบอื่น ๆ แต่สำหรับการสื่อสารภายในระหว่างบริการ มันควรจะเป็นระบบที่สอดคล้องกันในที่สุดและบริการต่าง ๆ ควรจะไม่รู้ซึ่งกันและกัน (ยกเว้นบริการพิเศษที่มีวัตถุประสงค์เฉพาะสองสามข้อ) เช่นนี้เราพยายามหลีกเลี่ยงสิ่งที่รู้สึกเหมือนการเรียกขั้นตอนระยะไกล (RPC หรือ RPI) เรามีระบบบัสและมิดเดิลแวร์ที่เน้นข้อความและมีการถ่ายทอดข้อความทั้งหมด PurchaseOrderShippedเรามักจะตั้งชื่อข้อความของเราเป็นเหตุการณ์ที่เกิดขึ้นนั่นคือเป็นวลีในที่สมบูรณ์แบบที่ผ่านมาเช่น อย่างไรก็ตามเหตุการณ์มักจะถูกเพิ่มเฉพาะเมื่อบริการอื่น ๆ จำเป็นต้องรู้เกี่ยวกับพวกเขาและในการเริ่มต้นมักจะมีเพียงหนึ่งบริการที่ใส่ใจ ยิ่งไปกว่านั้นบางครั้งบริการก็ส่งเหตุการณ์ออกมาซึ่งเป็นบริการที่รับฟังโดยบริการแรก ดังนั้นถ้าฉันทำแผนภาพการโต้ตอบมันจะดูคล้ายกับแผนภาพสำหรับข้อความคำสั่งในลิงก์ด้านบน (หรือแม้แต่แผนภาพ RPC) มากกว่าข้อความสำหรับข้อความเหตุการณ์ แต่อีกครั้งสิ่งนี้ไม่ได้ถูกนำไปใช้จริง ส่งข้อความโดยตรง แต่ออกอากาศบนรถบัส เพิ่มไปที่ความจริงที่ว่าฉันได้เห็นเมื่อเร็ว ๆ BillShippedPurchaseOrderนี้บางข้อความที่เพิ่มเข้ามาที่มีชื่อเป็นคำสั่งที่เป็นวลีในความจำเป็นที่เช่น สิ่งที่แปลกคือชื่อของข้อความและวิธีที่พวกเขาไหลไม่เปลี่ยนแปลงโดยไม่ว่าจะถูกตั้งชื่อเป็นเหตุการณ์หรือเป็นคำสั่ง ดังนั้นหนึ่งจะกำหนดว่าสิ่งที่ควรเป็นข้อความคำสั่งหรือเหตุการณ์? นี่เป็นเพียงความแตกต่างของความหมายและการตั้งชื่อหรือมีความแตกต่างที่เกิดขึ้นจริงระหว่างคำสั่งและข้อความเหตุการณ์หรือไม่ ระบุว่าข้อความทั้งหมดของเราออกอากาศแล้วนั่นหมายความว่าไม่มีใครเป็นผู้สั่งข้อความอย่างแท้จริงหรือไม่?

6
“ องค์กร” หมายถึงอะไรที่เกี่ยวข้องกับสถาปัตยกรรมซอฟต์แวร์?
ฉันเห็นคำว่า "องค์กร" ถูกขว้างไปรอบ ๆ นักพัฒนาซอฟต์แวร์และโปรแกรมเมอร์จำนวนมากและใช้อย่างอิสระดูเหมือนว่า en ·ตรี·รางวัล / entərˌprīz / คำนาม: โครงการหรือการดำเนินการโดยทั่วไปเป็นโครงการที่ยากหรือต้องใช้ความพยายาม ความคิดริเริ่มและความมั่งคั่ง มีใครช่วยอธิบายให้ชัดเจนว่าเทอมนี้ครอบคลุมจริงหรือไม่ "ที่ระดับองค์กร" "ระดับองค์กร" หรือไม่ มีแม้กระทั่ง "รุ่นองค์กร" ของสิ่งต่าง ๆ มันหมายความว่าอะไรกันแน่? เห็นได้ชัดว่ามันไม่สมเหตุสมผลที่จะตัดสินโดยคำจำกัดความข้างต้นดังนั้นโดยเฉพาะอย่างยิ่งกับซอฟต์แวร์สิ่งหนึ่งหมายความว่าอย่างไรเมื่อใช้คำว่า enterprise แก้ไข: หากต้องการเพิ่มสปินเกี่ยวกับสิ่งนี้ - คำนี้จะพอดีกับวลีเช่น Enterprise Framework Model อย่างไร การเข้าถึงข้อมูลและบริบทข้อมูลเกี่ยวข้องกับคำอธิบายทั่วทั้ง บริษัท อย่างไร

2
มีใครบ้างที่ใช้ Windows Workflow สำหรับเอ็นจิน Business Rules / Validation เรียบร้อยแล้ว
ฉันสงสัยว่าถ้าใครใช้ Windows Workflow Foundation สำหรับเอ็นจิ้น BusinessRules / Validation สำเร็จหรือถ้าคุณรู้รหัสตัวอย่างหรือบทความเกี่ยวกับเรื่องนี้ ถ้าคุณเคยใช้มันมาก่อนคุณคิดอย่างไร? เป็นอย่างไรบ้างเมื่อเปรียบเทียบกับระบบ BusinessRule / Validation อื่น ๆ ? ฉันคิดว่ากฎเช่น if (A, B, and C) AllowAccess(); หรือ if (Value between X and Y) return true;

2
อะไรคือความแตกต่างระหว่าง SOA และ Microservices
คำปฏิเสธ ฉันหวังว่าฉันจะไม่เหยียบนิ้วเท้าของใครก็ตาม พื้นหลัง ฉันค้นหาความแตกต่างที่แท้จริงระหว่าง Service Oriented Architecture และ Microservices โดยไม่ต้องค้นหาคำตอบที่ชัดเจน ฉันอ่านสิ่งที่ชอบ: ผลข้างเคียงของ SOA SOA เป็นรูปแบบการต่อต้าน Microservices มาเพื่อแก้ไขความล้มเหลวของ SOA ESB ไม่ใช่ ESB จริง ๆ แทนที่จะเป็น EAI พึ่งพาโบรกเกอร์ข้อความมากเกินไป ผู้ขายใช้ความคิดในทางที่ผิดของ SOA และพยายามขายผลิตภัณฑ์ของตน SOA เติบโตอย่างไม่สามารถควบคุมได้ แต่ถึงกระนั้นก็ไม่มีอะไรกำหนดความแตกต่างทางสถาปัตยกรรมอย่างชัดเจนระหว่าง Service Oriented Architecture (เป็นแนวคิด) และ Microservices (เป็นแนวคิด) ตามที่ฉันเข้าใจพวกเขาทั้งสองมี: ผู้ให้บริการทำสิ่งเดียวเท่านั้น Service Gateway / ESB เปิดเผยบริการเหล่านั้นต่อผู้บริโภค ผู้บริโภคบริการเข้าถึงบริการผ่าน ESB / เกตเวย์บริการ …

2
ฉันควรแคชข้อมูลหรือกดฐานข้อมูลหรือไม่
ฉันไม่ได้ทำงานกับกลไกการแคชใด ๆ และสงสัยว่าตัวเลือกของฉันคืออะไรในโลก. net สำหรับสถานการณ์ต่อไปนี้ โดยทั่วไปเรามีบริการ REST ซึ่งผู้ใช้ผ่าน ID ของหมวดหมู่ (think folder) และหมวดหมู่นี้อาจมีหมวดหมู่ย่อยมากมายและแต่ละหมวดย่อยอาจมี 1,000 คอนเทนเนอร์สื่อ (คิดว่าวัตถุอ้างอิงไฟล์) ซึ่งมีข้อมูลเกี่ยวกับ ไฟล์ที่อาจอยู่บนเซิร์ฟเวอร์ NAS หรือ SAN (ไฟล์เป็นวิดีโอในกรณีนี้) ความสัมพันธ์ระหว่างหมวดหมู่เหล่านี้ถูกเก็บไว้ในฐานข้อมูลพร้อมกับกฎการอนุญาตและข้อมูลเมตาเกี่ยวกับหมวดย่อย ดังนั้นจากมุมมอง UI เรามีตัวควบคุมทรีโหลดที่ขี้เกียจซึ่งขับเคลื่อนโดยผู้ใช้โดยคลิกที่โฟลเดอร์ย่อยแต่ละโฟลเดอร์ (คิดว่าเป็น Windows explorer) เมื่อพวกเขามาที่ URL ของไฟล์วิดีโอพวกเขาจะสามารถดูวิดีโอได้ จำนวนผู้ใช้สามารถเติบโตเป็น 1000 และหมวดหมู่ย่อยและวิดีโออาจอยู่ในช่วง 10,000 เมื่อระบบเติบโต คำถามคือเราควรดำเนินการตามที่มันทำงานอยู่ในขณะที่แต่ละคำขอกระทบฐานข้อมูลหรือเราควรคิดถึงการแคชข้อมูลหรือไม่ เรากำลังใช้ IIS 6/7 และ Asp.net

4
วิธี DDD ในการดำเนินงาน CRUD ขั้นพื้นฐานในแอปพลิเคชันโดเมนเป็นศูนย์กลางที่ซับซ้อน
บริษัท ของฉันกำลังเขียนเว็บแอปพลิเคชันของเราใหม่ตั้งแต่ต้น เป็นแอปพลิเคชันระดับองค์กรขนาดใหญ่ที่มีโดเมนที่ซับซ้อนในอุตสาหกรรมการเงิน เรากำลังใช้ ORM (Entity framework) เพื่อคงอยู่ ในสาระสำคัญครึ่งหนึ่งของศูนย์แอปพลิเคชันของเรามีการรวบรวมข้อมูลดิบจากผู้ใช้เก็บไว้และอีกครึ่งหนึ่งของแอปพลิเคชันที่มีตรรกะโดเมนจริงของเราส่วนใหญ่จะใช้ข้อมูลดิบนั้นเพื่อสร้างภาพโดเมนของเราซึ่งแตกต่างอย่างมากจากต้นฉบับ อินพุตดิบและส่งผ่านไปยังเครื่องยนต์ calc เรียกใช้ calcs และแยกผลลัพธ์ซึ่งจะแสดงต่อผู้ใช้ ในวิธี DDD โดยใช้เลเยอร์ดูเหมือนว่าการดำเนินการ CRUD จะผ่านชั้นโดเมน แต่อย่างน้อยในกรณีของเราสิ่งนี้ดูเหมือนจะไม่สมเหตุสมผล เมื่อผู้ใช้ไปที่หน้าจอแก้ไขเพื่อเปลี่ยนบัญชีการลงทุนเช่นเขตข้อมูลบนหน้าจอเป็นเขตข้อมูลที่แน่นอนที่เก็บไว้ในฐานข้อมูลไม่ใช่การแทนโดเมนที่ใช้ในการคำนวณในภายหลัง เหตุใดฉันจึงต้องโหลดการแทนโดเมนของบัญชีการลงทุนเมื่อหน้าจอแก้ไขต้องการการแสดงฐานข้อมูล (อินพุตดิบ) หลังจากที่ผู้ใช้คลิก "เสร็จสิ้น" บนหน้าจอบัญชีการลงทุนและมีการดำเนินการ POST กับคอนโทรลเลอร์ตอนนี้ผู้ควบคุมมีการแสดงฐานข้อมูลที่แน่นอนของบัญชีการลงทุนที่ต้องการบันทึก แต่ด้วยเหตุผลบางอย่างฉันควรโหลดการแทนโดเมนเพื่อทำการแก้ไขแทนการแมปโมเดลของคอนโทรลเลอร์โดยตรงกับโมเดลฐานข้อมูล (โมเดลเอนทิตีกรอบ) ดังนั้นโดยพื้นฐานแล้วฉันกำลังแมปโมเดลข้อมูลกับโมเดลโดเมนดังนั้นจึงสามารถแมปกลับไปยังตัวแบบข้อมูลเพื่อคงอยู่ได้ มันสมเหตุสมผลแค่ไหน?

3
ในสถาปัตยกรรม microservices ที่เชื่อมโยงกันอย่างหลวม ๆ คุณจะติดตามการพึ่งพาของคุณได้อย่างไร
ตัวเลือกสถาปัตยกรรมระดับสูงที่ได้รับความนิยมในโปรแกรมที่ทันสมัยคือระบบ microservices ที่ใช้ REST สิ่งนี้มีข้อดีหลายประการเช่นข้อต่อหลวมการใช้งานง่าย จำกัด ข้อ จำกัด เกี่ยวกับเทคโนโลยีที่สามารถใช้ได้ความยืดหยุ่นสูงเป็นต้น แต่ปัญหาอย่างหนึ่งที่ฉันเห็นในสถาปัตยกรรมนั้นก็คือการมองเห็นที่ไม่ดีเกี่ยวกับการพึ่งพาของแอปพลิเคชัน ตัวอย่างเช่นสมมติว่าฉันมีแอปพลิเคชันที่ใช้การเรียกใช้ REST หนึ่งชุดเป็นประจำทุกวัน แอปพลิเคชั่นนี้ใช้การเรียกใช้ REST ชุดที่สอง แต่เพียงไตรมาสละครั้ง ถ้าฉันจะสแกนบันทึกสำหรับสัปดาห์ที่ผ่านมาฉันจะเห็น cals ทุกวัน แต่ฉันคงไม่เห็นการโทรรายไตรมาส เมื่อถึงเวลาต้องปรับโครงสร้างการโทรรายไตรมาสมีความเสี่ยงสูงที่จะแตกหัก รูปแบบหรือเครื่องมือใดที่สามารถนำมาใช้เพื่อลดความเสี่ยงนี้และให้ทัศนวิสัยที่ดีขึ้นในการพึ่งพาของสถาปัตยกรรมคู่ที่หลวม

3
เรามาเต็มวงกลมด้วย microservices ย้อนกลับไปยังโรงเรียนเก่า
ในแง่ของสถาปัตยกรรมซอฟต์แวร์และการออกแบบ microservices "stack up" (เล่นสำนวนเจตนา) กับมิดเดิลแวร์อย่างไร ฉันมาจาก Java และดูเหมือนว่าเมื่อคุณย้ายออกจาก REST แบบตรงเป็น API และแยกแยะเลเยอร์และพารามิเตอร์การเชื่อมต่อต่าง ๆ อย่างน้อยที่สุดใน Java คุณเกือบจะกลับมาที่ความคิดเก่า ๆ . เราได้กลับมาสู่การจำลองเสมือน ... ซึ่ง JVM นั้นเสมือนจริงอยู่แล้ว ด้วยวิธีที่ไม่เชื่อเรื่องพระเจ้าคุณสามารถและฉันจะเถียงข้อได้เปรียบที่เป็นนามธรรม, สงบเงียบ API กับ CORBA หรือในทางที่มีจาวาเป็นศูนย์กลางมากกว่า JMS หรือ MDB ในครั้งเดียว EJB เป็นเรื่องใหญ่ใน Java แล้วมันได้รับการยอมรับว่าเป็นกลุ่มของคลัสเตอร์ แต่ตอนนี้เรากลับไปที่จุดเริ่มต้นหรือไม่? หรือ microservices เสนอสิ่งที่ CORBA หรือดีกว่า MDB ขาดหรือไม่ เมื่อฉันอ่าน (TLDR) มาร์ตินฟาวเลอร์อธิบายการใช้ไมโครไซต์มันจะทำให้ฉันเป็นทางออกที่ดีสำหรับปัญหาที่ไม่ดีถ้าคุณต้องการ หรือค่อนข้างเป็นวิธีการปิดที่เปิดใจซึ่งนำเสนอระดับของความซับซ้อนเพียงผลักดันปัญหาไปรอบ …

8
สิ่งที่ควรพิจารณาสำหรับเว็บไซต์“ ยอดเยี่ยม” และต่อต้าน?
บริษัท ของฉันกำลังพิจารณาที่จะรวมแอพพลิเคชั่นและไซต์เทียร์ 1 (เช่นการผลิตขั้นปลาย) ลงในฐานรหัสที่ครอบคลุมทั้งหมด ทฤษฎีคือการอนุญาตการออกแบบและฟังก์ชั่นโดยรวมของพวกเขาสามารถเป็นเนื้อเดียวกันและการจัดการจากส่วนกลาง ฉันไม่มีข้อกังวลใด ๆ เกี่ยวกับวิธีการนี้เนื่องจากโครงสร้างข้อมูลที่สนับสนุนแต่ละแอปพลิเคชันแตกต่างกันมากกฎเกณฑ์ทางธุรกิจมีความซับซ้อนและเป็นเอกลักษณ์ของแต่ละแอปพลิเคชันและฐานรหัสโดยรวมสำหรับแอปพลิเคชันที่มีอยู่นั้นแตกต่างกันมาก แก้ไข : สภาพแวดล้อมในปัจจุบันประกอบด้วยไซต์ ASP.Net 1.1 สามแห่งที่แทบจะไม่เคยเห็นความรักที่แท้จริงเลยตั้งแต่แรกถูกเขียน (เนื่องจากส่วนใหญ่ไม่มีนักพัฒนาที่มีประสบการณ์ใน บริษัท ) และแอปพลิเคชัน MVC2 หนึ่งที่เคยเป็นไซต์ ASP.Net 1.1 ก่อน อัพเกรดเมื่อปีที่แล้ว เราเขียนเฉพาะใน C # บริษัท มีขนาดค่อนข้างเล็กมีพนักงานประมาณ 50 คน สามคนเป็นนักพัฒนาที่แท้จริง การจัดการ (แม้แต่การจัดการด้านไอที) ไม่มีภูมิหลังด้านไอทีหรือประสบการณ์ใด ๆ นอกเหนือจากการจัดการโครงการของโครงการด้านไอที (และดังนั้นบางคนก็ผ่านความรู้เกี่ยวกับคำศัพท์และผลกระทบทางธุรกิจ) แอปพลิเคชั่นส่วนใหญ่เป็นบริการออนไลน์เพื่อสนับสนุนผลิตภัณฑ์ที่ขายโดย บริษัท บริษัท ไม่ได้จำหน่ายซอฟต์แวร์ใด ๆ โดยตรง ดังนั้นเพื่อวลีสถานการณ์ทั้งหมดนี้ในคำถามที่เฉพาะเจาะจงและมีเหตุผลตอบ: อะไรคือเหตุผลที่น่าสนใจสำหรับและต่อต้านการพยายามดึงระบบทั้งหมดของคุณเข้าด้วยกันเป็นโซลูชัน over-arching เดียวที่กำหนดเงื่อนไขปัจจุบัน (เช่นฐานรหัสเก่าระบบธุรกิจที่ซับซ้อนและกฎ …

2
กำลังย้ายตรรกะ UI ทั้งหมดไปยังฝั่งไคลเอ็นต์หรือไม่
ทีมงานของเราเดิมประกอบด้วยนักพัฒนาด้านเซิร์ฟเวอร์ส่วนใหญ่ที่มีความเชี่ยวชาญขั้นต่ำใน Javascript ใน ASP.NET เราเคยเขียนตรรกะ UI จำนวนมากในโค้ดหลังหรือมากกว่านั้นเมื่อเร็ว ๆ นี้ผ่านคอนโทรลเลอร์ใน MVC เมื่อไม่นานมานี้นักพัฒนาด้านลูกค้าระดับสูง 2 คนได้เข้าร่วมทีมของเรา พวกเขาสามารถทำได้ใน HTMl / CSS / Javascript ทุกอย่างที่เราสามารถทำได้กับโค้ดฝั่งเซิร์ฟเวอร์และการควบคุมเว็บฝั่งเซิร์ฟเวอร์: แสดง / ซ่อนส่วนควบคุม ทำการตรวจสอบ ควบคุมการรีเฟรช AJAX ดังนั้นฉันจึงเริ่มคิดว่าบางทีมันอาจจะมีประสิทธิภาพมากกว่าในการสร้าง API ระดับสูงรอบตรรกะทางธุรกิจของเราอย่างเช่น Amazon Fulfillment API: http://docs.amazonwebservices.com/fws/latest/APIReference/ลูกค้า นักพัฒนาด้านจะใช้เวลามากกว่า UI ในขณะที่นักพัฒนาด้านเซิร์ฟเวอร์จะเน้นเฉพาะตรรกะทางธุรกิจ ดังนั้นสำหรับการสั่งซื้อระบบคุณจะมี API ระดับสูงเช่น: OrderService.asmx CreateOrderResponse CreateOrder(CreateOrderRequest) AddOrderItem AddPayment - SubmitPayment - GetOrderByID FindOrdersByCriteria ... …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.