เมื่อต้นเดือนมกราคม พ.ศ. 2553 SpringSource ประกาศว่า dm Server จะเข้าสู่โปรเจ็กต์ Eclipse ซึ่งเป็นการเปิดบทแรกของปีใหม่ของ Java Modularization OSGi ยังคงเติบโตอย่างต่อเนื่องตลอดเดือนที่ผ่านมา โดยส่งสัญญาณว่าปี 2010 จะเป็นปีแห่งโมดูลจาวา
ข่าวจาก InfoQ: ความคืบหน้าล่าสุดเกี่ยวกับ Java Modularization ในเดือนมกราคม 2010 (ชื่อเดิม: "Bundle.update: A Year of Modularity" http://www.infoq.com/cn/news/2010/01/year-of-modularity )
คำแนะนำของบรรณาธิการ 51CTO: เริ่มต้นใช้งาน OSGi
เซิร์ฟเวอร์ dm ย้ายไปยัง Eclipse
ข่าวที่ใหญ่ที่สุดคือข้อเสนอโครงการ Eclipse Virgo อย่างไม่ต้องสงสัย (ดูรายงานที่เกี่ยวข้องกับ 51CTO ที่นี่) เวอร์ชันเซิร์ฟเวอร์ dm ปัจจุบันคือ 2.0.0 ซึ่งหมายความว่าเวอร์ชัน 2.1 ถัดไปจะได้รับการพัฒนาและเผยแพร่ภายใต้ Eclipse
ข้อแตกต่างที่สำคัญประการหนึ่งระหว่างโครงการที่มีอยู่และข้อเสนอใหม่คือโปรโตคอล ซึ่งหมายความว่า dm Server จะใช้ EPL ในอนาคต แทนที่จะเป็น GPL ในปัจจุบัน ถือเป็นข้อตกลงที่เอื้อต่อการดำเนินธุรกิจมากกว่า จุดมุ่งหมายคือการส่งเสริมการมีส่วนร่วมของชุมชนในขณะเดียวกันก็สนับสนุนแนวทางการพัฒนาซอฟต์แวร์นี้
OSGi และ dm Server ระดับองค์กรในปัจจุบันได้กระตุ้นความสนใจของผู้คนจำนวนมาก และนวัตกรรมรอบตัวพวกเขาไม่เคยหยุดนิ่ง ความสนใจนี้สูงเป็นพิเศษในกลุ่มผู้ใช้งานกลุ่มแรกและโครงการที่ต้องการการปฏิบัติตามคุณสมบัติโมดูลไดนามิกของแพลตฟอร์มบริการ OSGi แต่สำหรับทีมพัฒนากระแสหลัก (ที่ต้องการสร้างแอปพลิเคชันระดับองค์กรโดยเร็วที่สุดโดยมีปัญหาน้อยลงเรื่อยๆ) ต้นทุนการนำ OSGi ระดับองค์กรมาใช้ในปัจจุบันอาจเกินผลประโยชน์ระยะสั้น ปัญหานี้จะต้องได้รับการพิจารณาก่อนที่ OSGi ระดับองค์กรจะกลายเป็นมาตรฐานโดยพฤตินัยสำหรับวิธีการพัฒนาแอปพลิเคชันระดับองค์กรกระแสหลัก
หนังสือเล่มใหม่แนะนำ OSGi และ Equinox ที่ตีพิมพ์
หนังสือเล่มใหม่แนะนำ OSGi และ Equinox ได้รับการตีพิมพ์ในสัปดาห์นี้ นี่เป็นหนังสือเล่มแรกในซีรีส์ Eclipse RunTime หนังสือเล่มนี้จะแนะนำวิธีสร้างแอปพลิเคชัน Java แบบแยกส่วนผ่าน OSGi แม้ว่าตัวอย่างในหนังสือจะใช้ Equinox แต่หนังสือเล่มนี้ก็มีประโยชน์สำหรับนักพัฒนาที่ต้องการพัฒนาบนแพลตฟอร์ม OSGi อื่น ๆ
หนังสือเล่มนี้ยังดำเนินโครงการตัวอย่าง Toast ตั้งแต่ต้นจนจบ โดยมีจุดประสงค์เพื่อปูทางสำหรับหนังสือเล่มต่อๆ ไปในชุดผ่านโค้ดตัวอย่างเฉพาะ (เพื่อให้นักพัฒนาที่ได้อ่านหนังสือเล่มนี้สามารถเริ่มหนังสือเล่มอื่นได้อย่างรวดเร็ว) หนังสือเล่มนี้แบ่งออกเป็นสี่ส่วน ส่วนแรกคือภาพรวมของ OSGi ตามด้วยคำแนะนำในการสร้างตัวอย่าง Toast ส่วนที่สามจะสำรวจรายละเอียดของ OSGi ในเชิงลึก และสุดท้ายคือบรรณานุกรม
การพัฒนาบริการระยะไกลของ ECF เสร็จสมบูรณ์
เมื่อเร็วๆ นี้ โปรเจ็กต์ Eclipse Communications Framework ได้นำข้อกำหนด OSGi Remote Services ไปใช้ ซึ่งสามารถเชื่อมต่อบริการ OSGi ข้าม VM ผ่านโปรโตคอลที่ต่างกันหลากหลาย รวมถึง REST, WS-*, JMS, XMPP, Skype และการใช้งาน ECF Generic
ไม่เพียงเท่านั้น แต่ยังมีกลไกการตรวจจับที่แตกต่างกันมากมาย เช่น ZeroConf, SLP และการตรวจจับแบบคงที่ตามไฟล์
การใช้งาน Apache Felix ของ OSGi Remote Services ก็ได้รับการเผยแพร่เช่นกัน (Apache CXF) ซึ่งเป็นการใช้งานอ้างอิงของ OSGi เช่นกัน แต่การใช้งานนี้มุ่งเน้นไปที่การเข้าถึงผ่านเลเยอร์การขนส่ง WS-* ในขณะที่ ECF ไม่ขึ้นอยู่กับเลเยอร์การขนส่ง โดยไม่คำนึงถึงการใช้งาน API ที่ผู้ใช้และนักพัฒนาใช้ก็เหมือนกัน ซึ่งช่วยให้ผู้ใช้สามารถแทนที่การใช้งานขณะรันไทม์ได้
งาน Enterprise Expert Group ใกล้จะเสร็จสิ้นแล้ว
เมื่อเร็วๆ นี้ Peter Kriens ประกาศว่า OSGi Enterprise Expert Group กำลังจะเสร็จสมบูรณ์ และ Enterprise Expert Groupร่าง 4 ก็ได้เปิดตัวเมื่อไม่นานมานี้ ซึ่งมีฟีเจอร์ Java EE จำนวนมาก เรามีเหตุผลที่จะคาดหวังว่าเวอร์ชันสุดท้ายจะเปิดตัวในเดือนมีนาคมของปีนี้ ซึ่งเป็นช่วงที่ OSGi DevCon และ EclipseCon จัดขึ้น
EEG จะจัดเตรียมกลไกการสืบค้นใหม่สำหรับการค้นหาสไตล์ JNDI ผ่าน OSGi ใช้ JMX เพื่อจัดการรันไทม์ OSGi การเข้าถึงฐานข้อมูลผ่าน JTA, JPA และแหล่งข้อมูล และยังให้การจัดการบริการระยะไกลและสถาปัตยกรรมส่วนประกอบบริการอีกด้วย นอกจากนี้ บันเดิลการปรับใช้ใหม่: WAB จะถูกปล่อยออกมา เพื่อให้สามารถติดตั้งบันเดิลแอปพลิเคชันเว็บลงในคอนเทนเนอร์ เช่น WAR ได้ InfoQ จะให้ความคุ้มครองเชิงลึกเกี่ยวกับผลลัพธ์ของ EEG เมื่อมีการเผยแพร่
WebSphere เปิดตัวเวอร์ชันอัลฟ่า
IBM WebSphere ได้รับการพัฒนาโดยใช้ OSGi มาระยะหนึ่งแล้ว และเมื่อเร็ว ๆ นี้ได้เปิดตัวแอปพลิเคชัน OSGi เวอร์ชันอัลฟ่า แอปพลิเคชันนี้ใช้ Apache Aries และมีคอนเทนเนอร์ OSGi Blueprint (คล้ายกับ Eclipse Gemini ที่เสนอโดย SpringSource) โครงการเหล่านี้ล้วนหวังที่จะแก้ปัญหาบางอย่างที่ JNDI และ JTA ต้องเผชิญ ซึ่งเป็นจุดเน้นของกลุ่มผู้เชี่ยวชาญระดับองค์กรเช่นกัน
คอนเทนเนอร์เหล่านี้กำลังขยายขอบเขตของรันไทม์ OSGi เพื่อรองรับหลายแอปพลิเคชัน ในอนาคต แอปพลิเคชันจะถูกแยกออกเป็น OSGi Nested Frameworks (คล้ายกับวิธีที่เว็บแอปพลิเคชันเซิร์ฟเวอร์แยก WAR) แต่แตกต่างจากเซิร์ฟเวอร์แอปพลิเคชันเว็บ (WAR ถูกแยกออกจากกันโดยสิ้นเชิงและไม่สามารถแชร์โค้ดได้) WAB สามารถรวมรันไทม์ OSGi จากนั้นคุณสามารถแชร์โค้ดและบริการได้อย่างง่ายดายเหมือนกับการใช้บันเดิลและบริการส่วนตัว
Tycho สร้าง OSGi โดยใช้ Maven
เมื่อเร็วๆ นี้ Sonatype เปิดตัว Tycho 0.6.0 โดยใช้ Maven 3 เวอร์ชันใหม่ Tycho คือชุดของตัวสร้าง Maven ที่สามารถอนุมานการขึ้นต่อกันตาม OSGi Manifest.MF แทนที่จะถือว่าการขึ้นต่อกันมีอยู่ใน Maven POM สิ่งนี้ช่วยให้คุณสร้างบันเดิล OSGi ได้ทั้งแบบ POM-first (เมื่อ Manifest ถูกสร้างขึ้นโดยอัตโนมัติ) หรือ Manifest-first
แม้ว่านักพัฒนา OSGi ส่วนใหญ่ที่ใช้ Maven (เช่น นักพัฒนาภายใต้ Apache Felix) จะคุ้นเคยกับวิธีการพัฒนาที่เน้น POM เป็นหลักมากกว่า แต่วิธีการพัฒนาที่เน้น Manifest เป็นหลักเป็นส่วนเสริมของสิ่งนี้และสามารถพัฒนาให้ก้าวหน้ายิ่งขึ้นผ่าน Eclipse PDE (การพัฒนาปลั๊กอิน) สิ่งแวดล้อม) พัฒนาบันเดิล OSGi ได้อย่างสะดวก
ในบรรดาโปรเจ็กต์ Eclipse จำนวนมาก EGit และโปรเจ็กต์บ่มเพาะ Tigerstripe ถูกสร้างขึ้นโดยใช้ Maven แทน Ant
โครงการ Maven กำลังมุ่งสู่ Maven 3 ซึ่งได้รับการปรับโครงสร้างใหม่อย่างกว้างขวางและใช้ Google Guice นอกจากนี้ ความสำเร็จของพื้นที่เก็บข้อมูล Maven (จัดการโดย Sonatype) ยังพิสูจน์ให้เห็นว่าการพัฒนา Java ที่มีการพึ่งพาหลายรายการนั้นไม่ใช่เรื่องยาก นอกจากนี้ยังมีผู้คนจำนวนมากขึ้นเรื่อยๆ ที่ใช้ที่เก็บบันเดิล OSGi (เช่น ที่เก็บ OBR และ SpringSource) และสามารถกระจายไปยังผู้ให้บริการต่างๆ ได้ ขณะนี้การศึกษาเชิงสำรวจกำลังดำเนินการในหัวข้อการจัดหาชุดที่เก็บ OSGi แบบครบวงจร (ใช้โดย Tycho ด้วยความช่วยเหลือของ Nexus) พื้นที่เก็บข้อมูลทดลองอยู่ที่ Bundles.sonatype.org และ osgi.sonatype.org เป้าหมายในอนาคตคือการให้การเข้าถึงหลายรูปแบบ (OBR, P2 ฯลฯ) เพื่อให้การใช้บันเดิล OSGi เป็นเรื่องง่ายเหมือนกับ Maven JAR
ว่องไวและ POSH
หากคุณเพิ่งได้รับบันเดิล OSGi การใช้ตัวแยกวิเคราะห์บันเดิล OSGi จะเป็นตัวเลือกที่ดีกว่า เมื่อเร็ว ๆ นี้ Paremus ได้เปิดตัว Nimble ซึ่งเป็น parser สำหรับการรับและดาวน์โหลดบันเดิล OSGi
Paremus ผูก POSH (Paremus OSGi Shell) เข้ากับตัวแยกวิเคราะห์ Nimble ด้วยวิธีนี้ คุณสามารถใช้ชุดคำสั่งเดียวกันเพื่อเริ่มต้นและจัดการเฟรมเวิร์ก OSGi ทั่วไปได้ (ซึ่งจะทำให้การทดสอบ Felix, Equinox และ Knopflerfish ง่ายขึ้น) และด้วยความช่วยเหลือของ Nimble คุณสามารถเริ่มรันไทม์ OSGi ได้อย่างรวดเร็วในฐานะ Dave ซาเวจเล่าว่า คุณสามารถติดตั้งและรันเว็บแอปพลิเคชัน OSGi ที่ใช้ Spring ได้โดยใช้คำสั่งสองบรรทัดต่อไปนี้:
posh -kc "repos -l springdm;add org.springframework.osgi.samples.simplewebapp@active " open http://localhost:8080/simple-web-app/ ผู้อ่านที่สนใจสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Nimble บน DZone ข้อมูลเพิ่มเติม
กลุ่มผู้ใช้ OSGi UK และ OSGi DevCon London
กลุ่มผู้ใช้ OSGi UK กำลังเจริญรุ่งเรืองและมีสมาชิกมากกว่า 100 ราย การบรรยายล่าสุดมาจาก Marcel Offerman (จาก Luminis) และ Graham Charters (จาก IBM) วิดีโอและสื่อที่เกี่ยวข้องกับการบรรยายจะถูกโพสต์บนเว็บไซต์ในอีกไม่กี่วัน
ส่วนแรกของการบรรยายเป็นการแนะนำโครงการบ่มเพาะ Apache ACE ซึ่งมีจุดมุ่งหมายเพื่อทำให้การใช้ OSGi บนอุปกรณ์หลายเครื่องง่ายขึ้น รวมถึงจากระยะไกลด้วย
ในกระบวนการประกอบซอฟต์แวร์จากส่วนประกอบที่นำกลับมาใช้ใหม่ได้ ปัญหาที่ยากที่สุดในการแก้ไขคือวิธีการปรับใช้ซอฟต์แวร์กับอุปกรณ์ที่เชื่อมต่อซึ่งมีจำนวนเพิ่มมากขึ้น สถานการณ์จะแย่ลงหากชุดซอฟต์แวร์บนอุปกรณ์ต่างกัน โดยต้องใช้ส่วนประกอบที่แตกต่างกันในเวลาเดียวกัน การบรรยายนี้แนะนำเราถึงวิธีกระจายส่วนประกอบซอฟต์แวร์ไปยังอุปกรณ์ประเภทต่างๆ ที่ใช้ Apache ACE (โซลูชันโอเพ่นซอร์สที่ใช้ OSGi) ครอบคลุมทุกอย่างตั้งแต่โทรศัพท์มือถือไปจนถึงโหนดในระบบคลาวด์
โครงการ Apache Ace ใช้ซอฟต์แวร์ที่ Luminis บริจาคเมื่อต้นปีที่แล้ว ซอฟต์แวร์ดังกล่าวถูกนำไปใช้กับโครงการจริงหลายโครงการ เช่น ระบบเรดาร์บนเรือ อุปกรณ์เอ็กซ์เรย์ภาคสนาม การอัปเดตซอฟต์แวร์ CMS และการจัดการโปรโตคอล และการจัดการสัมภาระที่สนามบิน ระบบ
การบรรยายครั้งที่สองแนะนำ OSGi Remote Services (รวมอยู่ใน OSGi 4.2 แล้ว) และวิธีที่ระบบโต้ตอบกับ Service Component Architecture (SCA) โดยใช้ Apache Tuscany เป็นตัวอย่าง
แนวคิดการทำให้เป็นโมดูลของ Java และสรุปสถานการณ์ปัจจุบัน
สรุปที่ครอบคลุมของตัวอย่างแอปพลิเคชัน OSGi และ WebSphere
JSR 294 ของ Sun หยุดทำงานเนื่องจากแอปพลิเคชันเซิร์ฟเวอร์วางเดิมพันบน OSGi
ภาพรวมของข้อดีและหลักการนำไปใช้ของการเขียนโปรแกรมแบบแยกส่วนเพื่อตอบคำถาม: JSR 294 การมองเห็นและการใช้งาน
OASIS กำลังทำงานเพื่อพัฒนาข้อกำหนด Service Component Architecture (SCA) SCA จัดเตรียมโมเดลการเขียนโปรแกรม SOA ที่ต่างกันซึ่งครอบคลุมเทคโนโลยีการใช้งานมากมาย (EJB, BPEL, C++, COBOL ฯลฯ) การเชื่อมโยง (บริการบนเว็บ, JMS, IIOP ฯลฯ) และนโยบาย (WS-Policy ฯลฯ)
การบรรยายให้การแนะนำโดยย่อเกี่ยวกับเทคโนโลยีบริการระยะไกลของ OSGi และสถาปัตยกรรมส่วนประกอบบริการ จากนั้นพูดคุยเกี่ยวกับวิธีบูรณาการทั้งสองอย่างเพื่อให้แอปพลิเคชัน OSGi สามารถเข้าถึงเทคโนโลยีการใช้งาน SCA การเชื่อมโยง และเฟรมเวิร์กนโยบายที่หลากหลายผ่านบริการระยะไกล
ตารางการประชุม OSGi DevCon London และ JAX London ที่กำลังจะมาถึงได้รับการประกาศแล้ว ข้อเสนอจะสิ้นสุดวันนี้ แต่สมาชิกกลุ่มผู้ใช้ OSGi UK จะได้รับส่วนลดเพิ่มเติม
สรุป
เห็นได้ชัดว่าระบบเซิร์ฟเวอร์ขนาดใหญ่จะนำ OSGi มาใช้มากขึ้นเรื่อยๆ และในขณะเดียวกัน OSGi ก็จะเริ่มเข้าสู่ระบบขนาดเล็กและขนาดกลางด้วย ในขณะที่เครื่องมือสร้างยังคงมีการพัฒนาอย่างต่อเนื่อง นักพัฒนาสามารถพัฒนาบันเดิล OSGi ใน IDE ที่หลากหลายได้ ในเวลาเดียวกัน พื้นที่เก็บข้อมูลใหม่สำหรับการแบ่งปันบันเดิล OSGi ก็เกิดขึ้นเช่นกัน และการพัฒนาแอปพลิเคชัน Java แบบโมดูลาร์จะง่ายขึ้นมากขึ้น จากสิ่งนี้ Kirk Knoernschild ยืนยันว่า: ปี 2010 จะเป็นปีแห่งโมดูลจาวา