อนาคตของ Java Enterprise

ช่วงไม่กี่เดือนที่ผ่านมานี้ มีการเปิดเผยว่า ภาษา Java กำลังพบกับการเปลี่ยนแปลงครั้งใหญ่อีกครั้ง

นอกจากการโหวตให้มีการเปลี่ยนชื่อของ Java Enterprise จากปัจจุบัน Java EE เป็น Jakarta EE – แบรนด์ที่อยู่ภายใต้การดูแลของ Eclipse Foundation สำหรับผู้ใช้ coding robust แอพพลิเคชั่นเอนเตอร์ไพร์ส โดยใช้ภาษา Java ในการปรับปรุงผลิตภัณฑ์และก้าวเข้าสู่ตลาด DevOps ที่กำลังแข่งขันสูงอยู่แล้ว อาจดูเหมือนเป็นสถานการณ์ที่เลวร้าย

แต่ Java อาจยังไม่ตกยุคไป เนื่องจากเป้าหมายของการเปลี่ยนแปลงคือการเป็นหัวหอกในการสร้างนวัตกรรมใหม่ให้แก่นักพัฒนา Java ที่จะก้าวสู่โลกธุรกิจคลาวด์และธุรกิจ container-driven

นี่คืออนาคตของ Java Enterprise และสิ่งที่อาจมีความหมายสำหรับคุณในฐานะนักพัฒนาซอฟต์แวร์

Java ในปัจจุบัน: สรุปโดยย่อ

อย่างที่คุณทราบ Java เป็นแพลตฟอร์มคอมพิวเตอร์ที่ต้องอาศัยการเขียนโปรแกรมเชิงวัตถุหรือ OOP เมื่อมันถูกสร้างขึ้นครั้งแรกสำหรับอินเทอร์เน็ตโดย Sun Microsystems ในปี 1995 Java เป็นทางแก้อาการปวดหัวจากภาษาการเขียนโปรแกรมอื่น ๆ เช่น ภาษา C ++ ในการออกแบบแอปพลิเคชันแบบสแตนด์อโลน

ในช่วงปี 90 Java ได้ถูกนำเสนอแก่นักพัฒนาซอฟต์แวร์ที่ยินดีที่จะข้ามแพลตฟอร์ม  ในตอนแรกได้รับการออกแบบให้มีการพึ่งพาการใช้งาน dependencies น้อยที่สุดเท่าที่จะเป็นไปได้ ซึ่งนำไปสู่คำว่า“ เขียนครั้งเดียวทำงานได้ทุกที่” (write once,run everywhere: WORA) ซึ่งหมายความว่าโค้ด Java ที่คอมไพล์แล้วสามารถรันได้บนทุกแพลตฟอร์มโดยไม่จำเป็นต้องคอมไพล์โค้ดใหม่ นอกจากนี้แอพพลิเคชั่นที่ใช้ Java เป็นที่รู้จักกันดีในเรื่องความเร็วและความสามารถในการปรับขยายตัว

แต่ภายในปี 2010 ทั้ง ๆ ที่มีองค์กรขนาดใหญ่ที่ใช้ Java EE เพื่อเขียนเว็บแอปพลิเคชัน เพิ่มจำนวนขึ้น Forrester เรียกมันว่า “จุดจบ” สำหรับธุรกิจองค์กร โดยแนะนำให้พวกเขาค้นหาเทคโนโลยีใหม่ ๆ เพื่อเอาชนะความซับซ้อนและความไม่ยืดหยุ่นของแอพพลิเคชัน Java

ในขณะที่ Java ยังคงใช้งานกับเว็บแอปพลิเคชั่นบางตัวในปัจจุบัน เป็นความจริงที่ว่าองค์กรธุรกิจจำนวนมากได้ทำการเปลี่ยนแปลงไปสู่แนวทางที่คล่องตัวขึ้น เพื่อส่งมอบแอปพลิเคชั่นบนคลาวด์ได้เร็วขึ้น

นอกจากนี้แพลตฟอร์มการจัดการ Container และ PaaS กลายเป็นสิ่งที่พบเห็นได้ทั่วไปมากขึ้น

สำรวจเทรนด์ต่างๆของการพัฒนาองค์กร

การพัฒนาแอพพลิเคชั่นระดับองค์กรในสภาพแวดล้อมทางธุรกิจที่มีการแข่งขันในปัจจุบัน ยอมรับเรื่องการ deploy ว่ามีความสำคัญยิ่งกว่าที่เคยมีมา ในความเป็นจริงคุณอาจทราบแล้วว่าองค์กรไอทีที่มีประสิทธิภาพสูง deploy แอปพลิเคชั่นหลายครั้งต่อวันเมื่อ เทียบกับองค์กรที่ deploy เดือนละครั้ง หรือทุก ๆ หกเดือน

หากธุรกิจใดไม่ได้เขียนซอฟต์แวร์เพื่อการใช้งานเอง พวกเขากำลังนำโปรแกรมไปสู่ตลาดมือถือสำหรับผู้ใช้ที่เป็นผู้บริโภค

ในหลายครั้ง ธุรกิจองค์กรพบว่าพวกเขากำลังทำทั้งสองอย่าง ดังนั้นการย้ายจากมุมมองดั้งเดิมของไอที ไปสู่วัฒนธรรมที่รวมสู่ศูนย์กลางอยู่ที่ DevOps และ เพื่อให้ continuous delivery ไม่มีสะดุด

ในทางกลับกันการเปลี่ยนกระบวนทัศน์ (paradigm shift ) นี้ ได้ปูทางสำหรับเทคโนโลยีใหม่และแนวโน้มการพัฒนาองค์กร แนวโน้มการพัฒนา 2018 ก่อให้เกิดความท้าทายสำหรับการพัฒนาในอนาคตของ Jakarta EE:

มุ่งเน้นที่ความปลอดภัย

จากการเปลี่ยนความดูแลมาที่ Eclipse Foundation จะมั่นใจในความปลอดภัยแพลตฟอร์มใหม่บน Java ได้อย่างไร นี่คือคำถามที่ติดค้างในใจของนักพัฒนาจำนวนมาก เนื่องจากเรื่อง  multi-cloud environments และ integrations กำลังคุกคามความปลอดภัยสำหรับธุรกิจองค์กร

เพื่อให้เกิดความสามารถในการแข่งขัน Jarkata EE จะต้องมีนวัตกรรมที่มุ่งเน้นการทำให้แอปพลิเคชันปลอดภัยจากภัยคุกคามทางไซเบอร์

Progressive Web Apps (PWAs)

จากที่ PWA หรือเว็บไซต์ที่ทำงานได้ทั้งออนไลน์และออฟไลน์แบบแอพมือถือ เข้ายึดโลกธุรกิจสำหรับองค์กร Java เว็บแอปจะแข่งขันอย่างไร

ปัจจุบัน Java อินสแตนซ์ก็มีเทอะทะกว่า พวก lightweight platform ที่ใช้ในการเขียนโค้ดบนคลาวด์แล้ว แต่ Jakarta หวังจะเอาชนะข้อเสียที่ใหญ่ที่สุดนี้ โดยมุ่งเน้นที่การพัฒนาระบบคลาวด์แต่แรก

การพัฒนาส่งต่อไปยังผู้ใช้

การพัฒนากำลังเปลี่ยนไปสู่ผู้ใช้เพื่อสร้างประสบการณ์การใช้งานแอพระดับองค์กรที่กำหนดเองโดยสมบูรณ์มากขึ้นเรื่อย ๆ  ซึ่งเป็นส่วนหนึ่งของ container PaaS และแพลตฟอร์มการพัฒนาบนเว็บอื่น ๆ

นักวิเคราะห์ Java อาจสงสัยว่า Jakarta จะสามารถตอบสนองความต้องการนี้ได้หรือไม่?

อินสแตนซ์ดั้งเดิมของ Java ต้องการความรู้เชิงลึกเกี่ยวกับภาษาการเขียนโปรแกรมและความสามารถด้านเทคนิค แต่แนวโน้มสำหรับแอพพลิเคชั่นที่จะง่ายขึ้นเรื่อยๆ เพื่อให้เข้ากับตลาดได้หลากหลาย การนำหน้าการแข่งขันเกิดจาก การวางแผนพัฒนาให้เหมาะสมกับผู้ใช้

โอกาสในการเติบโต

นวัตกรรมเช่น blockchain และ Internet of Things เริ่มส่งผลกระทบต่อชีวิตประจำวันของผู้ใช้ แพลตฟอร์มการพัฒนา Java ใหม่ๆ จึงควรมีความยืดหยุ่นเพื่อพร้อมที่จะเติบโต

ยังคงเห็นได้ว่า Java สามารถกลับมาอีกครั้งโดยตอบสนองความต้องการของตลาดองค์กรที่เปลี่ยนแปลงไป ด้วยการดูแลภายใต้ Eclipse Foundation เราควรคาดหวังที่จะได้เห็นนวัตกรรมใหม่

Open Source

เมื่อไม่กี่ปีผ่านมานี้ เทคโนโลยี Open source ได้รับการยอมรับอย่างกว้างขวางในหลาย ๆ ด้าน ซึ่งรวมถึงการจำลองเสมือนการประมวลผลขั้นสูง ระบบปฏิบัติการ ฐานข้อมูล เว็บเซิร์ฟเวอร์และอีกมากมาย โดยมีความต้องการที่ชัดเจนอย่างต่อเนื่องในการเป็นส่วนสำคัญของนักพัฒนาในปัจจุบัน Eclipse foundation ตั้งใจที่จะให้ความสำคัญต่อชุมชน Open source สำหรับ Jakarta EE

Eclipse foundation และอนาคตของ Java Enterprise

ตัวชี้วัดทั้งหมดชี้ให้เห็นว่า Eclipse Foundation มุ่งเน้นไปที่การนำ Java ไปสู่คลาวด์เพื่อแข่งขันกับ Container และ PaaS

เหตุผลที่ Oracle ปล่อยการบริหาร Java ให้แก่ Eclipse Foundation นั้นเป็นกลยุทธ์ เป้าหมายคือการใช้ Java ซึ่งเป็นแพลตฟอร์มในปัจจุบัน ที่เป็นศูนย์กลางในการดำเนินงานขององค์กรจำนวนมาก และยังรักษาส่วนเดิมไว้โดยการอนุญาตให้ Eclipse Foundation มุ่งเน้นไปที่นวัตกรรมที่ทันสมัย

Eclipse Foundation คาดว่าจะศึกษา MicroProfile อย่างละเอียด ซึ่งเป็นกลยุทธ์เพื่อทำให้ Jakarta EE เบาขึ้นและพร้อมรองรับระบบคลาวด์

วิสัยทัศน์คือการสร้างแพลตฟอร์มคลาวด์ที่นักพัฒนา Java ไม่จำเป็นต้องรู้ snippet ทั้ง 30 ภาษาเพื่อสร้างหนึ่งโปรแกรม แต่พวกเขาสามารถเขียนโค้ดจากภาษาที่คุ้นเคยเช่น Jakarta EE กับนักพัฒนาซอฟต์แวร์ที่มีประสบการณ์การใช้ Java การให้บริการระบบคลาวด์ แต่นักวิจารณ์สงสัยว่าการเพิ่มแพลตฟอร์มใหม่เช่นนี้หมายความว่าพวกเขาต้องรู้จักภาษา 31 แทนที่ต้องรู้เพียง 30 หรือไม่

ตามคำสั่งโดยคณะกรรมการบริหารโครงการ Eclipse EE4J คาดว่าชุมชน Open source จะยอมรับการเปลี่ยนแปลงเหล่านี้โดยนำเสนอเทคโนโลยีที่สามารถนำไปใช้กับแพลตฟอร์มดังต่อไปนี้:

  • Docker
  • NoSQL
  • Kubernetes

สิ่งนี้ทำให้นักพัฒนามีทางเลือกในการใช้เทคโนโลยีที่มีมาตรฐานสำหรับสร้างเว็บแอพพลิเคชั่นและฐานข้อมูลในแพลตฟอร์ม Jakarta EE

Jakarta EE

ดังที่ได้กล่าวมาแล้ว Java EE ได้กลายมาเป็น Jakarta EE ในปี 2018 ภายใต้การนำของ The Eclipse Foundation ในวันนี้ได้มีต่อใบอนุญาต Java จาก Sun และ Foundation ซึ่งอยู่ในขั้นตอนการพัฒนาของ Jakarta EE มีการดำเนินการมากกว่า 30 โครงการโดยใช้ทรัพยากรของ Foundation และเตรียมความพร้อมสำหรับการจัดส่งทั้งหมดในครั้งเดียว เป้าหมายคือการสร้างการใช้งานที่เข้ากันได้ซึ่งเกินกว่าความเข้ากันได้ของเทคโนโลยีปัจจุบัน (TCKs) สำหรับ Java EE 8 CTS

นอกเหนือจากโครงการใหม่ 39 โครงการและ 110 repositories  จากการรายงานว่ามากกว่าครึ่งหนึ่งเป็นโครงการที่เสร็จสมบูรณ์แล้ว Jakarta EE ต้องเผชิญกับความท้าทายหลายอย่างก่อนที่จะถึงเปิดตลาด รวมถึงการตรวจสอบใบอนุญาตและการแก้ไขข้อผิดพลาดทั้งหมดก่อนจะนำไปใช้จริง

จากที่คุณเห็นว่ายังมีอีกหลายวิธีที่นักพัฒนาจะมี Java รุ่นที่จับต้องได้บนคลาวด์สำหรับองค์กร แต่ดูเหมือนว่า Eclipse Foundation จะมั่นใจได้ว่าการพัฒนานี้ จะช่วยพัฒนาชุมชนโปรแกรมเมอร์บนคลาวด์ได้

สุดท้ายนี้: บอกลากับ Java ที่เราเคยรู้จัก

นับตั้งแต่เริ่มก่อตั้งในปี 1990 จนถึงการถือกำเนิดของแอปพลิเคชั่นอินเทอร์เน็ตและ OOP นั้น Java เป็นผู้นำในด้านเทคโนโลยีเขียนโปรแกรมระดับองค์กร และถึงแม้จะมีผู้เชี่ยวชาญบางคนเรียกมันว่าสิ่งประดิษฐ์ แต่มันยังไม่ได้ถูกขับออกไปในฐานะศูนย์กลางในการประยุกต์ใช้แอพพลิเคชั่นสมัยใหม่

เป็นเพราะ Java มีมาตรฐานข้ามแพลตฟอร์มสำหรับนักพัฒนาเพื่อสร้างแอปพลิเคชันที่สมบูรณ์และมีประสิทธิภาพสำหรับลูกค้าภายในและภายนอกเพื่อใช้งานในแต่ละวัน

แต่เมื่อมีการเปลี่ยนแปลงไปสู่การส่งมอบที่ต่อเนื่องอย่างรวดเร็ว ก็ไม่น่าแปลกใจมากนักที่ Java มีปัญหาในพัฒนาให้ทันการเปลี่ยนแปลงใหม่ๆ

อย่างไรก็ตาม สิ่งต่าง ๆอาจจะเปลี่ยนไป  Eclipse Foundation เข้าสู่ตลาดด้วยความโด่งดังจาก Jakarta EE การใช้ Jakarta EE และเป็นไปได้ว่านักพัฒนาที่คุ้นเคยกับ Java สามารถทำหน้าที่หลายอย่างเช่นเดียวกับที่ทำกับแพลตฟอร์ม Container และ PaaS Eclipse Foundation เองกล่าวว่าภารกิจของ Jakarta EE คือ“ ยิ่งเป็นที่รู้จักมากขึ้นเท่าไร นักพัฒนาจะเข้ามามีส่วนร่วมมากขึ้น และทำให้ชุมชนกลับมาเชื่อในแพลตฟอร์มนี้อีกครั้ง”

ดูเหมือนมีอนาคตจะมั่นคง แต่ก็จะมีเพียงเวลาเท่านั้นที่ตอบว่าภาษาใหม่ประสบความสำเร็จ แล้วถึงเวลาที่จะเปลี่ยน แน่นอนว่าในขณะนี้ยังไม่มีความเห็นเป็นเอกฉันท์ว่าสิ่งใดที่ส่งผลกระทบต่อชุมชนการพัฒนาแอพฯระดับองค์กร ในขณะที่ผู้พัฒนาแอพเตรียมพร้อมแล้ว สำหรับ blockchain, IoT และนวัตกรรมอื่น ๆ

บทความแปลจากเว็บไซต์bmc.blogs

เตรียมพบกับหลักสูตร FULL TIME COURSE (JAVA)) เรียนกัน 3 เดือน

Codecamp

  1. คอร์สเรียนเข้มข้นจันทร์ – ศุกร์ เต็มวัน
  2. ฝึกงานด้วย Agile/Scrum ได้ทำงานจริงกับบริษัทจริง
  3. Speed Dating Day เลือกบริษัทที่ใช่กว่า 30 บริษัท

รายละเอียดเพิ่มเติม คลิกที่นี่