วันอาทิตย์ที่ 15 มีนาคม พ.ศ. 2552

Application Server

Application Server คือ เซิร์ฟเวอร์ที่รันโปรแกรมประยุกต์ได้ด้วย โดยการทำงานสอดคล้องกับไคลเอ็นต์ เช่น Mail Server (รัน MS Exchange Server) Proxy Server (รัน Proxy Server) หรือ Web Server (รัน Web Server Program เช่น Xitami , Apache )
ใช้ในการประมวลคือมันจะมาประมวลผลที่ Client ทำให้ลดภาระการประมวลผลที่ Server ลงได้ เหมาะกับงานที่ไม่ต้องใช้ประสิทธิภาพ Server สูงมากนัก
Application Server ที่มีประสิทธิภาพในปัจจุบันมีหลากหลาย ซึ่งมุ่งเน้นพัฒนาในแต่ละด้านต่างกันมี Application Server ที่ต้องเสียค่าใช้จ่าย

ในด้านของค่าลิขสิทธิ์ software หากต้องการนำมาติดตั้ง ใช้งาน Application Server บางชิ้นไม่สามารถทำงานได้ในหลากหลาย platform หลายชิ้นมีประสิทธิภาพในการทำงานไม่เพียงพอต่อความต้องการของผู้ใช้งาน

JBoss มีคุณสมบัติต่างๆที่น่าสนใจสำหรับนำมาใช้งานที่สามารถตอบสนองความต้องการได้อย่างมากมายไม่ว่าจะเป็นทางด้าน web service การออกแบบที่เป็น Enterprise มีกลไกการทำงานที่ไม่สลับซับซ้อนแต่ได้ประสิทธิภาพสูง มี service ต่างๆรองรับการใช้งาน รวมทั้งมีคุณสมบัติที่น่าสนใจอื่นๆ ทำให้ JBoss เป็น Application Server ที่น่านำมาศึกษาและทดลองใช้งาน

J2EE ย่อมาจากคําว่า Java 2 Enterprise Edition คือ กลุ่มของชุดคําสั่งภาษาจาวา ที่จําเป็นสําหรับการใช้ภาษาจาวาสร้างโปรแกรมระดับองค์กร

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

- Java Remote Method Invocation over the Internet Inter-ORB Protocol (RMI-IIOP) - Java Interface Definition Language (Java IDL)

- Java Naming and Directory Interface (JNDI)

- Java Database Connectivity (JDBC)

- Java Message Service (JMS)

- JavaMail

- Java Servlets

- Java Server Pages (JSPs)

- Java Transaction API (JTA) and Java Transaction Service (JTS)

- Enterprise Java Bean (EJB)

- Java API for XML Parsing (JAXP)

- Java Authentication and Authorization Service (JAAS)

- J2EE Connector Architecture (JCA)

คุณลักษณะของ J2EE (Java 2 Platform Enterprise Edition)

- รองรับการพัฒนา Applications แบบ Multitear

- มีโมดูลต่างๆที่ครบครันที่ไม่มีความซับซ้อน

- สนับสนุนการเชื่อมต่อฐานข้อมูลหลากหลายรูปแบบ(JDBC)

- สนับสนุน Corba, Security, EJB component, Servlet API

- รองรับการพัฒนา Applications ทางธุรกิจ รวมถึงเรื่องพนักงานในองค์กร การบริการคู่ค้าขององค์กรขนาดใหญ่

- รองรับการทำ Transaction จำนวนมากๆ
EJB ย่อมาจากคําว่า Enterprise JavaBeans เป็นชื่อเรียกของคอมโพแนนท์ของภาษาจาวา คือ
การสร้างโปรแกรมระดับองค์กรโดยอาศัยหน่วยของโปรแกรมเล็กๆ ซึ่งมี ความเป็นอิสระในตัวเอง ประกอบกันขึ้นมาเป็นโปรแกรมขนาดใหญ่ซึ่งทำงาน ที่ซับซ้อนขึ้นได้การแบ่งงานของโปรแกรมใหญ่ออกเป็นคอมโพเนนท์ทำให้โปรแกรมมีความสามารถในการขยายตัวเพื่อรองรับงานที่เพิ่มขึ้นได้อย่างมีประสิทธิภาพ ในขณะเดียวกันในแง่ของการพัฒนาก็ช่วยให้โปรแกรมเมอร์ทำงานร่วมกันได้ เป็นทีมได้ง่ายขึ้น และลดเวลาในการพัฒนาโปรแกรม เพราะคอมโพเนนท์ที่เขียนมาเพื่อโปรแกรมหนึ่งสามารถนำไปใช้กับโปรแกรมอื่นได้อีกในอนาคต ไม่ต้องเสียเวลาเขียนกันขึ้นมาใหม่อีก

จุดประสงค์ของ EJB ( Enterprise JavaBeans )

EJB เป็น Standard Component สำหรับการพัฒนา Distributed Object-Oriented Business Application ด้วย

Java Programming Language และ EJB สามารถทำงานร่วมกับ Component อื่น ๆ จากบริษัทผู้พัฒนา ( Vendors ) ที่แตกต่างกัน

EJB ง่ายต่อการพัฒนา Application โดยผู้พัฒนาไม่ต้องมีความรู้ด้าน Low-Level Transaction, State Management Details, Multi-threading,

Connection Pooling และ Low-Level API อื่น ๆ

EJB สนับสนุนปรัชญา The Write Once, Run Anywhere ของ Java Programming Language ในการทำงานบน Multiple Platforms โดยปราศจากการ Recompilation หรือแก้ไข Source Code EJB จะเป็นการ Deployment และ Runtime Aspects ในรูปแบบ Enterprise Application's Life Cycle EJB มีข้อกำหนดในการที่จะทำให้ Multiple Vendors สามารถพัฒนาและใช้ Components ที่ถูกพัฒนาขึ้น มาทำงานร่วมกันได้ ( Interoperate at runtime )

EJB จะสนับสนุนความสามารถเฉพาะ Server Platforms ที่มีอยู่ทั่วไป แต่ Vendors สามารถเพิ่มความสามารถพิเศษ ( Specialty ) ของบาง Server Product ลงไปใน EJB Architecture แต่ต้องยังคงความ Compatible ของ EJB ไว้

EJB จะสนับสนุนการทำงานระหว่า Enterprise Application ทั้งที่เป็น J2EE ( Java 2 Platform Enterprise Edition ) และ ที่ไม่เป็น Java Platform
Session Beans เหมาะกับการทำงานลักษณะ Processing หรือ Workflow ระบบที่ออกแบบให้ใช้งาน Session Beans มักจะถูกใช้งานกับระบบการทำงานแบบ standalone และไม่มีการใช้ข้อมูลร่วมกันระหว่างผู้ใช้บริการ Session Beans แบ่งเป็น 2 ชนิดย่อย คือ Stateful และ Stateless Stateful Session Bean ดูแลสถานะของ client เมื่อมีการร้องขอเกิดขึ้นจาก client Stateless Session Bean ไม่มีส่วนการดูแลสถานะ โดยปกติ Stateless Session Bean จะถูกเรียกใช้เมื่อระบบงานที่เราจัดทำขึ้นไม่มีความต้องการให้ container ดูแลสถานะ และผู้พัฒนาระบบงานคำนึงถึงความรวดเร็วในการทำงานมากกว่าการควบคุมสถานะ Entity Beans มักถูกใช้งานเมื่อ Business Component ต้องการเก็บข้อมูลในลักษณะถาวร และมีความต้องการใช้ข้อมูลร่วมกัน ระหว่างผู้ใช้ โดยปกติ Entity Bean สามารถแบ่งออกเป็น 2 ประเภท คือ BMP และ CMP โดยที่ BMP - Bean-Managed Persistence จะถูกใช้งานเมื่อผู้พัฒนาต้องจัดการเรื่องการจัดเก็บสถานะของข้อมูลแบบถาวรเอง CMP - Container-Managed Persistence จะถูกใช้งานในกรณีที่ผู้พัฒนาต้องการให้ container จัดการดูแลเรื่องการเก็บสถานะของข้อมูลให้ โดยที่ผู้พัฒนาเพียงทำการ กำหนดความสัมพันธ์ระหว่าง attribute ของ bean และส่วนที่จัดเก็บข้อมูลเท่านั้น
ตัวอย่าง Java Application Server
Sun Java System Application Server IBM WebSphere Application Server Borland Enterprise Server, AppServer Enhydra JBoss Application Server
เมื่อเราต้องการสร้างเครื่องมือที่จะมาจัดการ application ที่เป็น Java เราจำเป็นอย่างยิ่งที่จะต้องเลือก platform ที่ง่ายสำหรับผู้พัฒนา เพื่อสร้างและทดสอบ Java application เราจะสนใจที่จะนำเอา application server ที่มีขนาดเล็ก หรือ จะหลีกเลี่ยงการใช้ software ที่มีลิขสิทธิ์ ซึ่งมีราคาแพง ดังนั้น JBoss application- server จึงเป็นทางเลือกหนึ่งสำหรับที่เราจะนำมาศึกษา โดย JBoss application server มีการรวมสถาปัตยกรรมที่ยังมีความยืดหยุ่นสำหรับปัจจุบัน และรองรับ เทคโนโลยีในอนาคต ได้เป็นอย่างดี โดยที่เราไม่ต้องเสียค่าใช้จ่ายในด้าน license และรองรับเทคโนโลยีที่สูงกว่ารวมทั้งยังได้รับการสนับสนุนทางด้าน เทคนิคจากทีม ผู้พัฒนาที่เป็นแกนหลักของ JBoss ดังนั้น JBoss จึงเข้ามาเป็นทางเลือกที่ดีสำหรับการพัฒนาโปรแกรมขนาดกลาง (Middleware) อย่างรวดเร็ว

JBoss application server เป็นมาตรฐานทีเป็นพื้นฐานของ J2EE Platform ซึ่งเป็นอิสระในการใช้ ไม่ว่าจะเป็นผู้ใช้ทั่วไปหรือจะเป็น Independent - software vendor (ISV) ไม่คำนึงถึงขนาดของการ deploy JBoss application server กลายมาเป็น platform ที่ได้รับความนิยมมากสำหรับผู้พัฒนาและ ISV และเติบโตอย่างรวดเร็วในรูปแบบของ production deployments ด้วย

ลักษณะของ JBoss

1. Open source,no cost product licenses: JBoss เป็น open source ซึ่งไม่ต้องเสียค่าลิขสิทธิ์ เนื่องจากสามารถ download ได้ฟรีจาก web

2. Performance: JBoss อำนวยต่อการปรับปรุง และ การนำ J2EE Application server ไปใช้ให้เกิดประโยชน์

3. Customizable Footprint: JBoss มีอำนวยต่อการนำมาปรับปรุงใหม่ได้และ มีสถาปัตยกรรมที่ดีและยืดหยุ่นในการสร้าง application ซึ่งมี component model ที่จัดเตรียมไว้ให้ตามที่ต้องการ

4. Services-Oriented Architecture: JBoss มีการบริการสำหรับองค์กรที่แตกต่างออกไป รวมไปถึง Transaction Management, messaging, mail services, security, connection pooling Service ต่างๆเหล่านี้สามารถเพิ่มหรือนำออกไปได้ตามความต้องการ Service ทั้งหมดนี้มี package สำหรับจัดเก็บไว้อย่างเรียบร้อย โดยที่สามารถทำการสร้างและเพิ่ม service เข้าไปได้เอง

5. Enterprise-Class Services for any Java Object: JBoss Application Server สามารถใช้ Aspect-Oriented Programming (AOP) - model ในการส่งต่อไปยัง EJB คล้ายกับการส่ง function 6. Application-level features such as No compilation: ได้รับความนิยมมากจากผู้พัฒนาที่ใช้ภาษา Java ระดับสูง

7. Full security implementation: มีความปลอดภัยสูง ประกอบไปด้วยการผสมผสานกันของ JAAS

8. Full Standard support: JBoss Application Server สนับสนุน J2EE 1.4.x.

ไม่มีความคิดเห็น:

แสดงความคิดเห็น