อ่าน 6 นาที
ยูนิเฟซ (ภาษาโปรแกรม)
Unifaceเป็นแพลตฟอร์มการพัฒนาและใช้งานแอปพลิเคชันระดับองค์กรแบบ low-code ที่สามารถทำงานได้ในสภาพแวดล้อมรันไทม์ที่หลากหลาย รวมถึง อุปกรณ์ พกพาเมนเฟรมเว็บสถาปัตยกรรมแบบบริการ (SOA)...
ยูนิเฟซ (ภาษาโปรแกรม)
| ยูนิเฟซ | |
|---|---|
| ผู้เขียนต้นฉบับ | ภายในระบบอัตโนมัติ (1984–1986) |
| นักพัฒนา | ยูนิเฟซ (1986–ปัจจุบัน) |
| เวอร์ชันเสถียร | Uniface 10.4.03.001 / 23 ตุลาคม 2567 |
| ระบบปฏิบัติการ | Windows , Unix-like , Linux , IBM i , OpenVMS |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| พิมพ์ | สภาพแวดล้อมการพัฒนาแบบบูรณาการ |
| ใบอนุญาต | ทางการค้า |
| เว็บไซต์ | www.rocketsoftware.com/welcome-uniface |
Unifaceเป็นแพลตฟอร์มการพัฒนาและใช้งานแอปพลิเคชันระดับองค์กรแบบ low-code ที่สามารถทำงานได้ในสภาพแวดล้อมรันไทม์ที่หลากหลาย รวมถึง อุปกรณ์ พกพาเมนเฟรมเว็บสถาปัตยกรรมแบบบริการ (SOA) Windows Java EEและ . NET Uniface ถูกใช้เพื่อสร้างแอปพลิเคชันที่มีความสำคัญต่อภารกิจขององค์กร
แอปพลิเคชัน Uniface ไม่ขึ้นอยู่กับแพลตฟอร์มและฐานข้อมูล Uniface มีเฟรมเวิร์กการบูรณาการที่ช่วยให้แอปพลิเคชัน Uniface สามารถทำงานร่วมกับผลิตภัณฑ์ DBMS หลักๆ ได้ทั้งหมด เช่นOracle , Microsoft SQL Server , MySQLและIBM Db2นอกจากนี้ Uniface ยังรองรับระบบไฟล์ต่างๆ เช่นRMS , ไฟล์ลำดับ, ไฟล์ข้อความของระบบปฏิบัติการ และเทคโนโลยีอื่นๆ อีกมากมาย เช่นผลิตภัณฑ์บนเมนเฟรมของ IBM ( CICS , IMS ), เว็บเซอร์วิส , SMTP , อีเมล POP , ไดเร็กทอรีLDAP , .NET , ActiveX , Component Object Model (COM), โปรแกรม C(++)และJava Uniface ทำงานบนMicrosoft Windows , Unix เวอร์ชันต่างๆ , Linux , OpenVMSและIBM i
Uniface สามารถใช้งานในระบบที่ซับซ้อนซึ่งดูแลรักษาข้อมูลระดับองค์กรเพื่อสนับสนุนกระบวนการทางธุรกิจ เช่น จุดขายและการช้อปปิ้งออนไลน์บนเว็บ ธุรกรรมทางการเงิน การบริหารจัดการเงินเดือน และการควบคุมสินค้าคงคลัง มีการใช้งานโดยบริษัทหลายพันแห่งในกว่า 30 ประเทศ โดยมีฐานผู้ใช้งานจริงหลายล้านคน แอปพลิเคชันของ Uniface มีตั้งแต่แบบไคลเอ็นต์/เซิร์ฟเวอร์ไปจนถึงเว็บ และตั้งแต่การป้อนข้อมูลไปจนถึงเวิร์กโฟลว์และพอร์ทัล ซึ่งสามารถเข้าถึงได้ทั้งภายในองค์กร ผ่านอินทราเน็ต และอินเทอร์เน็ต
ผลิตภัณฑ์นี้ได้รับการพัฒนาขึ้นครั้งแรกในประเทศเนเธอร์แลนด์โดย Inside Automation ซึ่งต่อมาเปลี่ยนชื่อเป็น Uniface BV ต่อมาในปี 1994 ผลิตภัณฑ์และบริษัทถูกซื้อกิจการโดยCompuware Corp ซึ่งตั้งอยู่ในเมืองดีทรอยต์ และในปี 2014 ก็ถูกซื้อกิจการโดย Marlin Equity Partners และดำเนินกิจการต่อในชื่อ Uniface BV โดยมีสำนักงานใหญ่ทั่วโลกอยู่ที่อัมสเตอร์ดัมในเดือนกุมภาพันธ์ 2021 Uniface ถูกซื้อกิจการโดยRocket Softwareซึ่งมีสำนักงานใหญ่อยู่ที่เมือง วอลแธม รัฐแมสซาชูเซตส์สหรัฐอเมริกา
ผลิตภัณฑ์ยูนิเฟซ
Uniface Development Environment คือชุดเครื่องมือแบบบูรณาการสำหรับการสร้างแบบจำลอง การใช้งาน การคอมไพล์ การดีบัก และการเผยแพร่แอปพลิเคชัน
แอปพลิเคชัน Uniface รวมถึงแอปพลิเคชันข้างต้น ใช้โครงสร้างพื้นฐานรันไทม์ทั่วไป ซึ่งประกอบด้วย:
- Uniface Runtime Engine คือกระบวนการเฉพาะแพลตฟอร์มที่ทำหน้าที่ตีความและประมวลผลส่วนประกอบและไลบรารีของแอปพลิเคชันที่คอมไพล์แล้ว
- Uniface Router คือกระบวนการแบบมัลติเธรดที่รับผิดชอบการสื่อสารระหว่างกระบวนการ (IPC) ในแอปพลิเคชัน Uniface โดยจะเริ่มต้นและหยุดกระบวนการ Uniface Server ทำการกระจายโหลด และส่งต่อข้อความระหว่างกระบวนการ Uniface ต่างๆ
- Uniface Server—กระบวนการทำงานบนเซิร์ฟเวอร์ที่ช่วยให้ไคลเอ็นต์ Uniface สามารถเข้าถึงทรัพยากรระยะไกลหรือเรียกใช้ส่วนประกอบระยะไกลได้ โดยทำหน้าที่เป็นทั้งเซิร์ฟเวอร์แอปพลิเคชัน เซิร์ฟเวอร์ข้อมูล และเซิร์ฟเวอร์ไฟล์
- Uniface Repository— ระบบจัดการฐานข้อมูล (DBMS) ที่รองรับ SQLใช้สำหรับจัดเก็บคำจำกัดความและคุณสมบัติของวัตถุในการพัฒนา โมเดลกระบวนการและองค์กร และคำจำกัดความของพอร์ทัล
- เว็บเซิร์ฟเวอร์—Uniface มาพร้อมกับApache Tomcat Server สำหรับการพัฒนาและทดสอบเว็บแอปพลิเคชัน แต่สามารถใช้เว็บเซิร์ฟเวอร์ใดก็ได้ในสภาพแวดล้อมการใช้งานจริง
- เซิร์ฟเล็ต—เซิร์ฟเล็ตที่เขียนด้วยภาษา Java ทำหน้าที่เป็นตัวกลางในการสื่อสารระหว่างเว็บเซิร์ฟเวอร์และ Uniface Server สำหรับเว็บแอปพลิเคชันและเว็บเซอร์วิสของ Uniface
- ตัวเชื่อมต่อฐานข้อมูล—ตัวจัดการการเชื่อมต่อระหว่าง Uniface กับฐานข้อมูลต่างๆ
- เครื่องมือการผสานรวม—ไดรเวอร์ คอมโพเนนต์ และ API ที่จัดการการสื่อสารระหว่าง Uniface กับแอปพลิเคชันและเทคโนโลยีของบุคคลที่สาม รวมถึง Java, CICS, IMS, LDAP, SMTP, POP, คำสั่งระบบปฏิบัติการ, COM และอื่นๆ อีกมากมาย
นอกจากนี้ Uniface Anywhere (เดิมชื่อ Uniface JTi หรือ Java Thin Client Interface) ยังสามารถส่งมอบแอปพลิเคชัน Uniface แบบไคลเอ็นต์/เซิร์ฟเวอร์ไปยังคอมพิวเตอร์ใดๆ ที่เชื่อมต่อกับอินเทอร์เน็ตในรูปแบบโซลูชัน ไคลเอ็นต์แบบบางได้ อีกด้วย
Uniface เป็นแพลตฟอร์มการพัฒนาและใช้งานแบบ low-code ที่ใช้ภาษาสคริปต์เชิงขั้นตอนที่เป็นกรรมสิทธิ์ (รุ่นที่สี่) ที่เรียกว่า Uniface Proc ซึ่งใช้ในการเขียนโค้ดเพื่อกำหนดพฤติกรรมของแอปพลิเคชัน Uniface จะทำการทำงานด้านอินพุต/เอาต์พุตส่วนใหญ่โดยอัตโนมัติผ่านเคอร์เนลและโค้ดเริ่มต้น ดังนั้นพฤติกรรมพื้นฐานส่วนใหญ่จึงไม่จำเป็นต้องเขียนโค้ด
แอปพลิเคชัน Uniface
แอปพลิเคชัน Uniface คือโปรแกรมซอฟต์แวร์แบบคอมโพเนนต์ที่ไม่ขึ้นกับโครงสร้างพื้นฐาน ซึ่งสามารถสร้างหรือใช้ข้อมูลที่จัดเก็บอยู่ในฐานข้อมูลหรือระบบไฟล์ตั้งแต่หนึ่งระบบขึ้นไป แอปพลิเคชันเหล่านี้อาจเป็นแอปพลิเคชันแบบผสมที่รวมคอมโพเนนต์ที่ไม่ใช่ Uniface ซึ่งสร้างขึ้นโดยใช้เครื่องมือพัฒนาอื่นๆ และสามารถปรับใช้ได้ในสภาพแวดล้อมแบบกระจายศูนย์ เช่น ไคลเอนต์/เซิร์ฟเวอร์และเว็บ แอปพลิเคชันบนมือถือหรือเว็บเซอร์วิส และในสภาพแวดล้อมเมนเฟรม
Uniface มีส่วนประกอบหลายประเภทที่ออกแบบมาเพื่อใช้งานในเลเยอร์ต่างๆ ของสถาปัตยกรรมแอปพลิเคชันแบบหลายชั้น
ส่วนประกอบสำหรับชั้นการนำเสนอมีหน้าที่รับผิดชอบส่วนติดต่อผู้ใช้ และประกอบด้วย:
- แบบฟอร์ม—หน้าจอแบบโต้ตอบสำหรับแสดงและอัปเดตข้อมูลในสภาพแวดล้อมไคลเอ็นต์/เซิร์ฟเวอร์
- เซิร์ฟเวอร์เพจ—หน้าเว็บแบบโต้ตอบสำหรับแสดงและอัปเดตข้อมูลในสภาพแวดล้อมเว็บ
- รายงาน—รูปแบบสำหรับการนำเสนอข้อมูลในรูปแบบสิ่งพิมพ์
ส่วนประกอบสำหรับชั้นตรรกะทางธุรกิจจะจัดการกฎทางธุรกิจและพฤติกรรมเฉพาะงาน และไม่มีส่วนติดต่อผู้ใช้:
- บริการต่างๆ ทำหน้าที่ประมวลผลและจัดการตรรกะทางธุรกิจเมื่อถูกเรียกใช้โดยส่วนประกอบอื่นๆ ไม่ว่าจะอยู่ภายในเครื่องหรือจากระยะไกลก็ตาม
- บริการเซสชัน—ทำหน้าที่รวมศูนย์กฎทางธุรกิจที่ซับซ้อนซึ่งส่งผลกระทบต่อเอนทิตีข้อมูลหลายรายการ เช่น พฤติกรรมเฉพาะงาน ธุรกรรม และความสมบูรณ์ของข้อมูลอ้างอิง
- บริการสำหรับเอนทิตีข้อมูล—รวมศูนย์กฎทางธุรกิจที่เรียบง่ายสำหรับเอนทิตีข้อมูลเดี่ยว
ส่วนการเข้าถึงข้อมูลประกอบด้วยโครงสร้างฐานข้อมูลทางกายภาพที่จำลองไว้ในแบบจำลองแอปพลิเคชัน Uniface Uniface รับประกันการเข้าถึงข้อมูลทางกายภาพโดยการห่อหุ้ม SQL ไว้ในตัวเชื่อมต่อ DBMS การเข้าถึงเครือข่ายและมิดเดิลแวร์จะถูกห่อหุ้มโดยไดรเวอร์มิดเดิลแวร์และเราเตอร์ Uniface
เอนจินรันไทม์จะประมวลผลส่วนประกอบของแอปพลิเคชัน โดยจะแสดงส่วนประกอบการนำเสนอโดยใช้ตัวเชื่อมต่อส่วนติดต่อผู้ใช้ที่เหมาะสม (ทั้งแบบ GUI หรือแบบข้อความ) และส่งและรับข้อมูลผ่านตัวเชื่อมต่อ DBMS
การพัฒนาแอปพลิเคชัน
แอปพลิเคชัน Uniface พัฒนาขึ้นโดยใช้สภาพแวดล้อมการพัฒนา Uniface เดิมทีสามารถพัฒนาบน แพลตฟอร์ม AppleและDEC ได้ แต่ปัจจุบันWindowsเป็นแพลตฟอร์มที่รองรับการพัฒนาเป็นหลัก
การพัฒนาแอปพลิเคชัน Uniface นั้นขับเคลื่อนด้วยโมเดลและใช้ส่วนประกอบเป็นหลัก โครงสร้างข้อมูล กฎทางธุรกิจ และพฤติกรรมเริ่มต้นของแอปพลิเคชันจะถูกบันทึกไว้ในโมเดลแอปพลิเคชัน คำจำกัดความของโมเดลสามารถนำมาใช้ซ้ำและสืบทอดโดยส่วนประกอบต่างๆ ได้ ซึ่งส่วนประกอบเหล่านั้นสามารถแทนที่คำจำกัดความที่สืบทอดมาและให้พฤติกรรมและลักษณะเฉพาะของส่วนประกอบนั้นๆ ได้ เทมเพลตช่วยเพิ่มประสิทธิภาพการทำงานและบังคับใช้ความสม่ำเสมอเมื่อกำหนดโมเดล
แบบจำลองการใช้งาน
แบบจำลองแอปพลิเคชันกำหนดเอนทิตี (ตาราง) ฟิลด์ คีย์ (ดัชนี) และความสัมพันธ์ พร้อมด้วยความสมบูรณ์ของการอ้างอิง แต่ละเอนทิตีและฟิลด์ในแบบจำลองมีคุณสมบัติและชุดของทริกเกอร์ กฎทางธุรกิจจะถูกเพิ่มเข้าไปในแบบจำลองโดยการประกาศคุณสมบัติ และโดยขั้นตอนโดยการเพิ่มโค้ด Proc (ภาษาขั้นตอนของ Uniface) ในทริกเกอร์
ทริกเกอร์เป็นเหมือนภาชนะบรรจุโค้ด ทริกเกอร์บางตัวแสดงถึงเหตุการณ์ของผู้ใช้หรือระบบ เช่น เหตุการณ์ที่ได้รับโฟกัส การอ่าน หรือการออกจากช่องข้อมูล ส่วนทริกเกอร์อื่นๆ จะครอบคลุมเรื่องต่างๆ เช่น การตรวจสอบความถูกต้อง หรือทำหน้าที่เป็นตัวแทนสำหรับเมธอดที่เกี่ยวข้องกับวัตถุนั้นๆ
การใช้ทริกเกอร์ระดับโมเดลช่วยให้ Uniface สามารถรวบรวมคุณสมบัติและพฤติกรรมภายในอ็อบเจ็กต์ทางธุรกิจ โดยแยกโครงสร้างข้อมูลเชิงตรรกะออกจากโครงสร้างข้อมูลเชิงกายภาพ ทำให้สามารถกำหนดพฤติกรรมเริ่มต้นได้เพียงครั้งเดียว เพื่อนำไปใช้ซ้ำได้ทั่วทั้งแอปพลิเคชัน ช่วยเร่งความเร็วในการพัฒนาและอำนวยความสะดวกให้กับสถาปัตยกรรมแอปพลิเคชันแบบ 3 ระดับ
แต่ละเอนทิตี (ตาราง) จะถูกกำหนดขึ้นในแบบจำลองแอปพลิเคชันก่อน จากนั้นจึงสามารถส่งออกไปยังฐานข้อมูลจริงในรูปแบบของสคริปต์ CREATE TABLE ได้
ส่วนประกอบ
ส่วนประกอบต่างๆ จะนำวัตถุที่อธิบายไว้ในแบบจำลองแอปพลิเคชันมาใช้ซ้ำ นักพัฒนาจะฝังวัตถุจากแบบจำลองลงในส่วนประกอบโดยการวาดลงบนผืนผ้าใบสำหรับจัดวาง (สำหรับส่วนประกอบการนำเสนอ) หรือแทรกเข้าไปในมุมมองแบบต้นไม้ของโครงสร้างส่วนประกอบ นอกจากนี้ยังสามารถเพิ่มวัตถุระดับส่วนประกอบที่ไม่ได้อยู่ในแบบจำลองแอปพลิเคชันได้ เช่น ช่องควบคุม เมนู และตัวแปรส่วนประกอบ
คุณสมบัติและทริกเกอร์ที่กำหนดไว้ในโมเดลแอปพลิเคชันจะถูกส่งต่อโดยการคัดลอกไปยังคอมโพเนนต์ สามารถเปลี่ยนแปลงคำจำกัดความได้ในระดับคอมโพเนนต์เพื่อให้ได้ฟังก์ชันการทำงานเฉพาะ ซึ่งจะทำให้การเชื่อมโยงระหว่างโมเดลแอปพลิเคชันและคอมโพเนนต์ขาดหายไป (แม้ว่าจะสามารถกู้คืนการเชื่อมโยงกับโมเดลได้ก็ตาม) หากมีการเปลี่ยนแปลงโค้ดหรือคุณสมบัติของโมเดลในระดับโมเดล คอมโพเนนต์ทั้งหมดที่เก็บอ็อบเจ็กต์นั้นจะต้องทำการคอมไพล์ใหม่เพื่อรวบรวมคำจำกัดความใหม่ ซึ่งจะช่วยลดภาระในการบำรุงรักษาและทำให้มั่นใจได้ว่ากฎที่เกี่ยวข้องกับอ็อบเจ็กต์นั้นพร้อมใช้งานไม่ว่าจะใช้งานที่ใดก็ตาม
คลังข้อมูล Uniface
Uniface มีฐานข้อมูลเมตาเดตาสำหรับนำกลับมาใช้ใหม่ เช่น โมเดลแอปพลิเคชัน คำจำกัดความของส่วนประกอบ เค้าโครงส่วนประกอบ โค้ดขั้นตอนการทำงาน และอื่นๆ คลังข้อมูลนี้เป็นกรรมสิทธิ์และมีจุดประสงค์เพื่อให้เข้าถึงได้ผ่านทางสภาพแวดล้อมการพัฒนาของ Uniface เพื่อให้มั่นใจในความสมบูรณ์ของคลังข้อมูล อย่างไรก็ตาม โครงสร้างของคลังข้อมูลได้รับการบันทึกไว้ ทำให้สามารถเชื่อมต่อโดยตรงกับคลังข้อมูลได้ (แม้จะไม่แนะนำ) เช่น เพื่อการรายงาน
การใช้พื้นที่เก็บข้อมูลส่วนกลางช่วยให้การพัฒนาแอปพลิเคชันสามารถแบ่งปันกันได้ระหว่างทีมพัฒนาซอฟต์แวร์ Uniface สามารถทำงานร่วมกับระบบควบคุมเวอร์ชัน (VCS) ใดๆ ก็ได้ที่รองรับข้อกำหนด Microsoft Common Source Code Control Interface Specification (MSCS) ฟังก์ชันการทำงานของ VCS ที่มีอยู่ใน Uniface นั้นขึ้นอยู่กับ VCS ที่ใช้ เนื่องจากผู้จำหน่ายซอฟต์แวร์แต่ละรายตีความและใช้งาน MSCSCC API แตกต่างกัน
การปรับใช้แอปพลิเคชัน
แอปพลิเคชัน Uniface สามารถใช้งานได้บนแพลตฟอร์มต่างๆ ตั้งแต่เมนเฟรมไปจนถึงอุปกรณ์พกพา โดยไม่ต้องแก้ไขโค้ด ส่วนประกอบต่างๆ (และวัตถุอื่นๆ เช่น หน้าต่างเริ่มต้น เมนู แถบเครื่องมือ (แผง) สัญลักษณ์ ตัวแปรส่วนกลาง และรายการ Proc ที่รวมอยู่) จะถูกคอมไพล์เป็นวัตถุรันไทม์ ซึ่งสามารถบรรจุลงในไฟล์ zip และใช้งานบนแพลตฟอร์มใดก็ได้ วัตถุรันไทม์เหล่านี้จะถูกเรียกใช้งานโดยใช้เครื่องเสมือนและตัวแปลภาษาเฉพาะแพลตฟอร์ม (ต่อมา Java ก็ได้นำ Uniface มาใช้ในลักษณะนี้) ส่วนประกอบต่างๆ สามารถคอมไพล์บนเครื่องหนึ่งและเรียกใช้งานบนอีกเครื่องหนึ่งได้ ตราบใดที่มีเครื่องเสมือน Uniface อยู่
Uniface Router และ Uniface Server ทำให้ Uniface สามารถปรับขนาดได้ และทำให้สามารถเรียกใช้กระบวนการแบบอะซิงโครนัสได้
การเชื่อมต่อฐานข้อมูล
Uniface เข้าถึงฐานข้อมูลและระบบไฟล์ต่างๆ ที่รองรับโดยใช้ตัวเชื่อมต่อฐานข้อมูล (หรือไดรเวอร์) ตัวเชื่อมต่อ DBMS จะแมปและแปลงชนิดข้อมูลของ Uniface ให้เป็นรูปแบบที่เหมาะสมที่สุดสำหรับสื่อจัดเก็บข้อมูลนั้นๆ ในระหว่างการทำงาน สามารถส่งพารามิเตอร์เพื่อเรียกใช้ (หรือปิดใช้งาน) ส่วนขยายเฉพาะฐานข้อมูลได้ หากตัวเชื่อมต่อฐานข้อมูลได้รับอนุญาต ก็สามารถแปลงระหว่างแหล่งข้อมูลต่างๆ ได้ Uniface ยังมี API ที่เรียกว่า Database Connector Interface ซึ่งสามารถใช้สร้างตัวเชื่อมต่อเฉพาะสำหรับฐานข้อมูล SQL ใดๆ ก็ได้
การออกใบอนุญาต
การจัดการใบอนุญาตจะดำเนินการผ่านระบบCompuware Distributed License Manager (DLM) ซึ่งเป็นระบบบนเซิร์ฟเวอร์ที่แจกจ่ายใบอนุญาตให้กับลูกค้าตามคำขอ ทำให้ไม่จำเป็นต้องเก็บใบอนุญาตไว้ในเครื่อง
ประวัติของยูนิเฟซ
เดิมทีผลิตภัณฑ์นี้มีชื่อว่า UNIS ถูกสร้างขึ้นในประเทศเนเธอร์แลนด์ในปี 1984 โดยบริษัท Inside Automation ซึ่งมี Bodo Douqué เป็นหัวหน้า และ Frits Kress เป็นผู้อำนวยการฝ่ายเทคนิค ในปี 1986 ทั้งผลิตภัณฑ์และบริษัทได้เปลี่ยนชื่อเป็น Uniface (โลโก้แรกของผลิตภัณฑ์มีตัวอักษร A สีแดง ซึ่งสะท้อนถึงตัวอักษร A สีแดงในโลโก้ของ Inside Automation)
Uniface ได้รับการพัฒนาบนหลักการของสถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI) สถาปัตยกรรม 3 สคีมาซึ่งได้รับการเสนอครั้งแรกในปี 1975 และเป็นแนวทางมาตรฐานในการสร้างระบบจัดการฐานข้อมูลที่ประกอบด้วย 3 สคีมา (หรือเมตาโมเดล):
- โครงสร้างเชิงแนวคิด (Conceptual Schema) คือคำจำกัดความของรายการข้อมูลทั้งหมดและความสัมพันธ์ระหว่างรายการเหล่านั้น โดยจะมีโครงสร้างเชิงแนวคิดเพียงหนึ่งเดียวต่อฐานข้อมูลหนึ่งๆ Uniface ใช้โครงสร้างเชิงแนวคิดนี้เป็นแบบจำลองแอปพลิเคชัน (ใน Uniface เวอร์ชันต่างๆ เรียกว่าแบบจำลองวัตถุทางธุรกิจ (Business Object Model) และแบบจำลองวัตถุแอปพลิเคชัน (Application Object Model))
- สคีมาภายนอก—มุมมองข้อมูลภายนอก (ของผู้ใช้) ที่แตกต่างกัน ฐานข้อมูลหนึ่งๆ อาจมีสคีมาภายนอกได้หลายแบบ Uniface ใช้สคีมาภายนอกในรูปแบบของคอมโพเนนต์ ในระหว่างการพัฒนาของ Uniface สคีมาภายนอกได้กลายเป็นฟอร์ม ฟอร์มที่ซ่อนอยู่ซึ่งทำงานอยู่เบื้องหลังโดยไม่แสดงให้ผู้ใช้เห็นได้กลายเป็นบริการ บริการต่างๆ ถูกแบ่งออกเป็นบริการเซสชันสำหรับอ็อบเจ็กต์ในระดับธุรกิจและบริการเอนทิตีซึ่งอาจอยู่ในระดับธุรกิจหรือระดับข้อมูลก็ได้ ฟอร์มที่ถูกพิมพ์แทนที่จะแสดงผลได้กลายเป็นคอมโพเนนต์รายงาน หน้าเซิร์ฟเวอร์ (USP) ถูกนำมาใช้สำหรับการพัฒนาเว็บ และต่อมาได้มีการนำหน้าเซิร์ฟเวอร์แบบไดนามิกมาใช้เพื่อรองรับฟังก์ชันการทำงานของ Web 2.0
- โครงสร้างข้อมูลภายใน—คำจำกัดความของการแสดงผลทางกายภาพของข้อมูลที่จัดเก็บไว้ Uniface ปล่อยให้โครงสร้างข้อมูลภายในเป็นหน้าที่ของระบบฐานข้อมูลเชิงสัมพันธ์ต่างๆ ที่สามารถเชื่อมต่อได้ ทำให้ Uniface สามารถทำงานได้โดยไม่ขึ้นกับฐานข้อมูลใดๆ
Uniface ถูกพัฒนาขึ้นบน เครื่อง DEC VAXโดยใช้ระบบจัดการไฟล์RMS ของ VAX ซึ่งยังคงเห็นร่องรอยของการพัฒนาในผลิตภัณฑ์ปัจจุบัน โดยการใช้ปุ่ม "GOLD"เพื่อเปลี่ยนโหมด ( เทอร์มินัล DEC VTมีปุ่มสีทองหรือสีเหลืองบนแป้นพิมพ์ ปัจจุบันปุ่ม "GOLD" ถูกกำหนดให้ตรงกับปุ่มตัวเลข + หรือปุ่มฟังก์ชัน)
เวอร์ชันแรกๆ ของผลิตภัณฑ์ถูกรวมเข้ากับระบบจัดการฐานข้อมูลเชิงสัมพันธ์ Sybase ภายใต้ชื่อ FastBuild แม้ว่าจะไม่ได้จำกัดการเข้าถึงเฉพาะฐานข้อมูลนั้นก็ตาม
Uniface ได้พัฒนาอย่างต่อเนื่องเพื่อรองรับเทคโนโลยีและสถาปัตยกรรมแอปพลิเคชันใหม่ๆ ซึ่งเป็นปัจจัยสำคัญที่ทำให้ประสบความสำเร็จ เนื่องจากแอปพลิเคชันที่สร้างด้วย Uniface สามารถโยกย้าย อัปเดต และปรับปรุงให้ทันสมัยได้โดยไม่สูญเสียเงินลงทุนในการพัฒนาเดิม
รุ่นยูนิเฟซ
Uniface เวอร์ชัน 3 (1986): Uniface 3 เป็นเวอร์ชันแรกที่เผยแพร่สู่สาธารณะ มีคุณสมบัติเด่นคือการรองรับฐานข้อมูลหลายประเภท (RMS, Oracle, C_ISAM, Ingres และ RDB); การตีความเครื่องเสมือน; โปรแกรมแก้ไขโครงสร้าง และโปรแกรมแก้ไขข้อความและคำสั่ง Uniface
Uniface เวอร์ชัน 4 (1988): Uniface 4 ปรับปรุงโปรแกรมแก้ไขข้อความ (ปัจจุบันคือโปรแกรมแก้ไขแบบฟอร์ม) ปรับปรุงการรองรับการพิมพ์และการแสดงผล เพิ่มการรองรับ MS-DOS และเพิ่มอินเทอร์เฟซเครื่องมือ CASE
Uniface เวอร์ชัน 5 (1990): Uniface 5 ช่วยให้สามารถใช้งานแบบไคลเอ็นต์/เซิร์ฟเวอร์ได้ โดยมีการแนะนำการเข้าถึงฐานข้อมูลระยะไกลผ่าน Polyserver นอกจากนี้ยังแนะนำส่วนติดต่อผู้ใช้แบบกราฟิกผ่าน Universal Presentation Interface (UPI) การรองรับฐานข้อมูลขยายไปถึง 13 ฐานข้อมูลและระบบไฟล์ และสามารถใช้งานได้บน DOS, VMS, OS/2, Stratus VOS และ UNIX รวมถึงการเพิ่มการรองรับอักขระภาษาญี่ปุ่นด้วย
Uniface Six (1994): Uniface Six เป็นเวอร์ชันที่ทำให้การพัฒนาซอฟต์แวร์เป็นแบบกราฟิกอย่างสมบูรณ์ ประกอบด้วยเครื่องมือวาดแบบฟอร์มกราฟิกและตัวแก้ไขแบบจำลองแอปพลิเคชัน ปรับปรุงการใช้งานผ่าน Dynamic Object Libraries เพิ่มการสนับสนุน Microsoft Object Linking and Embedding (OLE) รวมถึงการสนับสนุน Apple Macintosh เพิ่มการควบคุมสิทธิ์การเข้าถึง รวมระบบควบคุมเวอร์ชัน เพิ่มเครื่องมือรายงานสำหรับ Personal Series (แต่ต่อมาถูกลบออกเมื่อผู้พัฒนาภายนอกตัดสินใจไม่พัฒนาผลิตภัณฑ์ต่อ) และรองรับแพลตฟอร์มที่หลากหลายยิ่งขึ้น
Uniface Seven (1997): Uniface Seven เน้นการบูรณาการส่วนประกอบทั้งของ Uniface และส่วนประกอบภายนอก โดยการนำสถาปัตยกรรม Uniface Request Broker (URB) มาใช้ URB รองรับการสื่อสารแบบสองทิศทางและแบบซิงโครนัสหรืออะซิงโครนัสระหว่างส่วนประกอบต่างๆ นอกจากนี้ยังเพิ่มการเข้าถึงข้อมูลจากระยะไกล เซิร์ฟเวอร์แอปพลิเคชันแบบแบ่งพาร์ติชัน และการส่งข้อความ Uniface Seven ยังได้นำเสนอเครื่องมือพัฒนาและใช้งานเว็บ Uniface ตัวแรก พร้อมด้วย Web Application Server และ Uniface Request Dispatcher
การปรับปรุงอื่นๆ ได้แก่ ประเภทส่วนประกอบใหม่ (บริการ, หน้าเซิร์ฟเวอร์, รายงาน); โปรแกรมแก้ไขลายเซ็นและเวิร์กเบนช์การประกอบ; ระบบย่อย; การดำเนินการ; ฟอร์มที่ไม่ใช่แบบโมดอล; อินสแตนซ์ส่วนประกอบ; โปรแกรมแก้ไขและการนำทางที่ได้รับการปรับปรุง; ปลั๊กอินโปรแกรมแก้ไขที่ได้รับการปรับปรุง; โปรแกรมดีบักเกอร์ใหม่; ความช่วยเหลือออนไลน์แบบบูรณาการ; เทมเพลตส่วนประกอบ; เว็บแอปพลิเคชันเซิร์ฟเวอร์; การตรวจสอบความถูกต้องที่ได้รับการปรับปรุง; เซิร์ฟเวอร์ชื่อ Uniface และตัวจัดการพาร์ติชันแบบกราฟิก
นอกจากนี้ Uniface Seven ยังได้เปิดตัวเครื่องมืออื่นๆ อีกหลายอย่าง:
- เครื่องมือสำหรับการสร้างแบบจำลอง การบูรณาการ และการจัดการกระบวนการทางธุรกิจ ฟังก์ชันนี้ได้รับการพัฒนาเป็น Optimal Flow ใน Uniface 8 และต่อมาเป็น Uniface Flow ใน Uniface 9
- พอร์ทัลการบูรณาการทางธุรกิจที่เดิมชื่อ Optimal View และต่อมาเปลี่ยนชื่อเป็น Uniface View
- Uniface คือโซลูชันแบบไคลเอนต์บางที่ทำงานบนเซิร์ฟเวอร์ สำหรับการส่งมอบแอปพลิเคชันที่ใช้งานผ่านเว็บได้ทางอินเทอร์เน็ตหรืออินทราเน็ต โดยให้ประสิทธิภาพสูงแม้ในการเชื่อมต่อที่มีแบนด์วิดท์ต่ำ
Uniface 8 (2001): Uniface 8 นำมาซึ่งการเปลี่ยนแปลงครั้งใหญ่ในด้านการบูรณาการกระบวนการทำงาน Uniface Router และ Uniface Server ช่วยให้การใช้งานมีความยืดหยุ่นและสมดุล Web Request Dispatcher (WRD) เข้ามาแทนที่ URD ทำให้ประสิทธิภาพดีขึ้น มีการเพิ่มการรองรับเว็บเซอร์วิส ทั้ง SOAP และ XML การเชื่อมต่อและการทำงานร่วมกันได้รับการปรับปรุง และมีการแนะนำวิธีการสำหรับการสร้างสถาปัตยกรรมแอปพลิเคชันแบบ 3 ระดับ มีการเพิ่มตัวเชื่อมต่อสำหรับ SOAP, COM, CORBA และ MQSeries การจัดการหน้าต่างและไฟล์ได้รับการปรับปรุง มีการแนะนำยูทิลิตี้การปรับใช้ใหม่ ซึ่งช่วยปรับปรุงการกระจายแอปพลิเคชัน มีการเพิ่มชนิดย่อยของส่วนประกอบสำหรับสถาปัตยกรรมแบบ 3 ระดับ มีการเพิ่มแฮนเดิลสำหรับอินสแตนซ์ของส่วนประกอบ และมีการเพิ่มการเก็บขยะอัตโนมัติ
Uniface 9 (2006): การเปิดตัว Uniface 9 เน้นการปรับปรุง GUI และการใช้งาน การติดตั้งแบบเรียบง่าย และการบูรณาการ มีการเพิ่มการรองรับ Windows Mobile และลดความซับซ้อนของการกำหนดค่าและการติดตั้งโดยใช้ไฟล์บีบอัด การรองรับ Unicode ช่วยเพิ่มความสามารถด้านหลายภาษาที่น่าประทับใจอยู่แล้วให้ดียิ่งขึ้น และการปรับปรุงด้านการพัฒนาเว็บและการจัดการ XML ทำให้ Uniface สอดคล้องกับมาตรฐานอุตสาหกรรมมากยิ่งขึ้น การเคลื่อนย้ายฟิลด์แบบไดนามิกในส่วนประกอบของฟอร์มช่วยขจัดข้อจำกัดด้านความยืดหยุ่นบางอย่างที่เคยมีมา
คุณสมบัติอื่นๆ ได้แก่ การจัดการสีที่ดีขึ้น เมนูแบบไดนามิก API XML โปรแกรมแก้ไขไดอะแกรมสำหรับแบบจำลองแอปพลิเคชัน ฟังก์ชันการอ้างอิงข้ามเพื่อรองรับการปรับโครงสร้างและการปรับใช้ และฟังก์ชันบริการเว็บที่ได้รับการปรับปรุง
Uniface 9.4 (2010): แม้จะเป็นเพียงการอัปเดตย่อย แต่ Uniface 9.4 ก็ได้เพิ่มฟังก์ชันการทำงานใหม่ที่สำคัญมากพอที่จะถือว่าเป็นเวอร์ชันหลัก โดยเน้นไปที่ฟังก์ชันการทำงานของแอปพลิเคชันอินเทอร์เน็ตที่มีฟังก์ชันครบครัน (RIA) ทำให้สามารถพัฒนาแอปพลิเคชัน Web 2.0 ที่มีฟังก์ชันการทำงานครบครันเหมือนกับแอปพลิเคชันไคลเอ็นต์/เซิร์ฟเวอร์ โดยใช้เครื่องมือและวิธีการเดียวกันกับที่ใช้ในการพัฒนาแอปพลิเคชันไคลเอ็นต์/เซิร์ฟเวอร์แบบดั้งเดิม การรองรับภาษาและภูมิภาคได้รับการปรับปรุงอย่างมาก เช่นเดียวกับการรองรับอีเมล HTML และความปลอดภัยและการเข้ารหัส
Uniface 9.5 (2011): การเปิดตัว Uniface 9.5 ได้ปรับปรุงการทำงานร่วมกันของผลิตภัณฑ์กับเวิลด์ไวด์เว็บ การแนะนำ API JavaScript พร้อมกับการปรับปรุงอื่นๆ หมายความว่าการประมวลผลฝั่งไคลเอ็นต์สามารถนำมาซึ่งประโยชน์ในด้านประสิทธิภาพ การทำงานร่วมกัน ฟังก์ชันการทำงาน และความเป็นมิตรต่อผู้ใช้ ความสามารถในการจัดการเซสชันได้รับการขยายเพื่อเพิ่มความปลอดภัย และการประมวลผลเว็บเซอร์วิสในปัจจุบันรองรับประเภทข้อมูลที่ซับซ้อนอย่างเต็มที่สำหรับทั้งบริการ SOAP และ RESTful นอกจากนี้ยังมีการปรับปรุงสำหรับลูกค้าที่มีแอปพลิเคชันไคลเอ็นต์/เซิร์ฟเวอร์ที่สำคัญต่อธุรกิจ โดยเฉพาะอย่างยิ่งในส่วนของวิดเจ็ตตาราง
Uniface 9.6 (2012): Uniface 9.6 ได้ปรับปรุงความสามารถของ GUI แบบไคลเอ็นต์-เซิร์ฟเวอร์ของ Uniface อย่างมาก ฟังก์ชันการทำงานประกอบด้วยการควบคุม HTML5 ที่ใช้ประโยชน์จาก API JavaScript ที่เดิมทีมีไว้สำหรับเว็บ การควบคุมแท็บที่ได้รับการปรับปรุง และการอัปเดตการจัดการรูปภาพ ปุ่ม และการปรับปรุงอื่นๆ การควบคุมคอนเทนเนอร์ฟอร์มช่วยให้สามารถสร้าง 'ฟอร์มซ้อนฟอร์ม' ทำให้สามารถพัฒนาประสบการณ์ผู้ใช้แบบไดนามิกได้
นอกเหนือจากการปรับปรุง GUI แล้ว Uniface 9.6 ยังได้ปรับปรุงความสามารถของ Uniface Web และ Web Services รวมถึงความสามารถในการเปลี่ยนแปลงขอบเขตของธุรกรรมบนเว็บ การแบ่งหน้าเว็บ และการประมวลผลรายการผลการค้นหาแบบไดนามิก ตลอดจนความสามารถด้าน WSDL และ XML ที่ได้รับการปรับปรุง
Uniface 9.7 (2015): Uniface 9.7 นำเสนอการปรับปรุงที่สำคัญสำหรับการพัฒนาเว็บแอปพลิเคชัน รวมถึงส่วนขยายเพื่ออำนวยความสะดวกในการพัฒนาและใช้งานแอปพลิเคชันบนมือถือบนพื้นฐานของแอปพลิเคชันแบบไฮบริด และเพิ่มขีด ความสามารถในการพัฒนา/ใช้งาน แบบหลายช่องทางของ Uniface ซึ่งจะได้รับการขยายเพิ่มเติมอย่างมากใน Uniface 9.7.02 (พฤษภาคม 2016) โดยจะมีการบูรณาการกับผู้ให้บริการสร้างแพ็กเกจเพื่อให้สามารถบรรจุแอปพลิเคชันแบบไฮบริดเพื่อเผยแพร่ผ่าน Google Play และ Apple Store ได้
นอกเหนือจากการปรับปรุงด้านอุปกรณ์เคลื่อนที่และเว็บแล้ว Uniface 9.7 ยังมีการปรับปรุงด้านการบูรณาการและการเชื่อมต่อระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ (MS Windows 10) อีกด้วย
สภาพแวดล้อมการพัฒนา Uniface (UDE) ได้รับการปรับปรุงให้ทันสมัยยิ่งขึ้น ด้วยรูปลักษณ์และสัมผัสใหม่ โดยมีหน้าจอหลักที่ดูใหม่และประสบการณ์การใช้งานที่สดใหม่ แนวทางที่ Uniface ใช้ในการปรับปรุง UDE ให้ทันสมัยนั้น ได้ถูกนำเสนอทั้งในงานประชุมนักพัฒนาและบนเว็บไซต์ชุมชนUniface.info (เก็บถาวรเมื่อวันที่ 16 สิงหาคม 2018 ในWayback Machine)เพื่อให้คำแนะนำและส่งเสริมการปรับปรุงระบบไคลเอ็นต์-เซิร์ฟเวอร์ให้ทันสมัยแก่ฐานลูกค้าที่มีอยู่
Uniface 9.7 มีไดรเวอร์ฐานข้อมูลใหม่สองตัว ซึ่งช่วยให้สามารถเชื่อมต่อกับPostgreSQLและSAP Hanaได้
Uniface 10 (2015): Uniface 10 นำเสนอสภาพแวดล้อมการพัฒนาที่เขียนขึ้นใหม่โดยอิงจากแนวคิดหลักของสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) การเปิดตัวครั้งแรกซึ่งวางตำแหน่งเป็นเวอร์ชันทดลองใช้งานหรือเวอร์ชันสำหรับผู้ใช้งานกลุ่มแรก แสดงให้เห็นถึงการเปลี่ยนแปลงที่สำคัญจากรูปแบบการพัฒนาแบบกรรมสิทธิ์ไปสู่การใช้งานที่มีประสิทธิภาพสูงตามมาตรฐานอุตสาหกรรม ทำให้สามารถพัฒนาแอปพลิเคชันบนเว็บได้
ในเดือนพฤษภาคม 2558 Uniface 10 รุ่นแรกได้ถูกปล่อยออกมาให้ผู้ใช้งานกลุ่มแรกได้ทดสอบและพัฒนาเว็บแอปพลิเคชัน ส่วน Uniface 10 รุ่นเต็มรูปแบบสำหรับองค์กรได้ถูกปล่อยออกมาในเดือนกันยายน 2559 โดยรองรับการพัฒนาแอปพลิเคชันบนมือถือและแบบไคลเอ็นต์เซิร์ฟเวอร์ พร้อมทั้งมีเส้นทางการย้ายข้อมูลเพื่อให้ฐานลูกค้าเดิมสามารถย้ายแอปพลิเคชันของตนไปยัง Uniface 10 ได้
Rocket Uniface 10.4 (2021) Uniface 10.4 ใช้ Sentinel License Manager ซึ่งช่วยให้ผู้ใช้จัดการใบอนุญาตได้ดียิ่งขึ้น มีการปรับปรุง Rocket Uniface Router Monitor, API สำหรับ TLS และการอัปเดต Repository สำหรับ IDE เป็นสภาพแวดล้อมการพัฒนา 64 บิต ที่ได้รับการอัปเกรดเป็น Tomcat 9 ไลบรารี OpenSSL และ CURL ได้รับการอัปเดต และไฟล์ปฏิบัติการ OpenSSL ได้ถูกรวมไว้ใน Uniface บน Windows แล้ว นอกจากนี้ยังได้เพิ่มตัวเชื่อมต่อ SLE 2.0 ใหม่สำหรับ SQLite ด้วย