Apache CXF এর ওয়েব সার্ভিস ডিপ্লয়মেন্ট সাধারণত Servlet Containers (যেমন Apache Tomcat) অথবা Java EE Application Servers (যেমন JBoss এবং GlassFish) এ করা হয়। এসব সার্ভার ওয়েব অ্যাপ্লিকেশন হোস্ট করার জন্য প্রয়োজনীয় প্ল্যাটফর্ম প্রদান করে এবং CXF এর মতো ওয়েব সার্ভিস ফ্রেমওয়ার্ক ডিপ্লয় করার সুবিধা দেয়। নিচে এই সার্ভিসগুলিতে Apache CXF ওয়েব সার্ভিস ডিপ্লয় করার প্রক্রিয়া আলোচনা করা হলো।
1. Apache Tomcat এ CXF ডিপ্লয়মেন্ট
Apache Tomcat একটি ওপেন সোর্স Servlet Container যা Java Servlet এবং JavaServer Pages (JSP) সমর্থন করে। Apache CXF ওয়েব সার্ভিসের জন্য Tomcat ব্যবহারের ক্ষেত্রে, এটি মূলত একটি Servlet-based application হিসেবে ডিপ্লয় হয়।
1.1 Tomcat এ CXF ওয়েব সার্ভিস ডিপ্লয় করার প্রক্রিয়া
CXF লাইব্রেরি সংগ্রহ করুন: Tomcat এ CXF ইনস্টল করতে প্রথমে Apache CXF এর লাইব্রেরি সংগ্রহ করুন। আপনি Maven বা ZIP ফাইল ব্যবহার করে CXF লাইব্রেরি সংগ্রহ করতে পারেন। Maven ব্যবহার করলে
pom.xmlফাইলে নিচের ডিপেন্ডেন্সি যোগ করতে হবে:<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.4.0</version> </dependency>Web Application Structure: Tomcat এর জন্য একটি সাধারণ Web Application Structure তৈরি করুন, যেমন:
/myapp /WEB-INF /classes /lib web.xml /src /servicesWeb.xml কনফিগারেশন:
web.xmlফাইলে Apache CXF এর DispatcherServlet কনফিগার করতে হবে:<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>CXF Endpoint তৈরি করুন: ওয়েব সার্ভিস এর জন্য একটি Endpoint তৈরি করুন। উদাহরণস্বরূপ, একটি সাধারন SOAP ওয়েব সার্ভিস:
@WebService public class HelloWorld { public String sayHello(String name) { return "Hello, " + name; } }CXF সার্ভিস কনফিগারেশন: CXF সার্ভিস কনফিগারেশনের জন্য একটি Java class তৈরি করুন যেখানে CXF endpoint মেপ করা হবে:
import org.apache.cxf.jaxws.JaxWsServerFactoryBean; public class CXFServicePublisher { public static void main(String[] args) { HelloWorld implementor = new HelloWorld(); JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); factory.setServiceClass(HelloWorld.class); factory.setAddress("http://localhost:8080/myapp/services/hello"); factory.create(); } }- Web Application ডিপ্লয় করুন: Tomcat এর
webappsফোল্ডারে ওয়েব অ্যাপ্লিকেশনটি ডিপ্লয় করুন এবং সার্ভিসটি রান করুন। এরপর ব্রাউজারে বা SOAP UI তেhttp://localhost:8080/myapp/services/helloইউআরএল দিয়ে ওয়েব সার্ভিসটি অ্যাক্সেস করতে পারবেন।
2. JBoss/WildFly এ CXF ডিপ্লয়মেন্ট
JBoss (এখন WildFly) হল একটি Java EE অ্যাপ্লিকেশন সার্ভার যা অনেক শক্তিশালী ফিচার সরবরাহ করে, যেমন ট্রানজ্যাকশন, সিকিউরিটি, এবং মেসেজিং। JBoss সার্ভারে CXF ওয়েব সার্ভিস ডিপ্লয় করার প্রক্রিয়া সাধারণত Servlet-based কনফিগারেশনের মতো।
2.1 JBoss/WildFly এ CXF ওয়েব সার্ভিস ডিপ্লয় করার প্রক্রিয়া
Maven Dependencies: প্রথমে Maven প্রজেক্টে Apache CXF এর ডিপেন্ডেন্সি যুক্ত করুন:
<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.4.0</version> </dependency>- EJB বা Servlet ব্যবহার: JBoss বা WildFly এর মধ্যে ওয়েব সার্ভিস অ্যাপ্লিকেশন ডিপ্লয় করতে আপনি EJB বা Servlet ব্যবহার করতে পারেন। যদি আপনি Servlet ব্যবহার করেন, তবে Tomcat এর মতো
web.xmlকনফিগারেশন করতে হবে। - JBoss Server Configuration: JBoss সার্ভারে CXF সেটআপ করতে নিচের কনফিগারেশন পদ্ধতি অনুসরণ করুন:
web.xmlফাইলেCXFServletকনফিগারেশন- EJB বা Servlet এ
@WebServiceঅ্যানোটেশন ব্যবহার করে ওয়েব সার্ভিস তৈরি করা
- Deployment: আপনার অ্যাপ্লিকেশনটি
deployফোল্ডারে জার ফাইল হিসেবে JBoss/WildFly এ ডিপ্লয় করুন।
3. GlassFish এ CXF ডিপ্লয়মেন্ট
GlassFish একটি পূর্ণাঙ্গ Java EE সার্ভার যা ওয়েব সার্ভিস সহ অনেক ধরনের এন্টারপ্রাইজ অ্যাপ্লিকেশন হোস্ট করতে ব্যবহৃত হয়। Apache CXF কে GlassFish সার্ভারে ডিপ্লয় করা খুবই সহজ, এবং এতে JAX-WS এবং JAX-RS সমর্থন পাওয়া যায়।
3.1 GlassFish এ CXF ওয়েব সার্ভিস ডিপ্লয় করার প্রক্রিয়া
Maven Dependencies: প্রথমে
pom.xmlফাইলে CXF লাইব্রেরির ডিপেন্ডেন্সি যোগ করুন:<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.4.0</version> </dependency>Web Service Endpoint তৈরি: আপনার ওয়েব সার্ভিস তৈরি করুন। GlassFish এ সাধারণভাবে @WebService অ্যানোটেশন ব্যবহার করে এন্ডপয়েন্ট তৈরি করা হয়:
@WebService public class HelloWorld { public String sayHello(String name) { return "Hello, " + name; } }- GlassFish Server কনফিগারেশন: GlassFish এর জন্য কোনো বিশেষ কনফিগারেশন প্রয়োজন নেই। শুধুমাত্র
web.xmlফাইল এবং@WebServiceঅ্যানোটেশন ব্যবহার করলেই হয়। - Deployment: GlassFish সার্ভারে অ্যাপ্লিকেশন ডিপ্লয় করতে ওয়েব অ্যাপ্লিকেশনটি GlassFish সার্ভারের
domains/domain1/autodeployফোল্ডারে রেখে সার্ভিসটি রান করুন।
এইভাবে আপনি Apache CXF ওয়েব সার্ভিসগুলো Apache Tomcat, JBoss/WildFly, এবং GlassFish সার্ভারে সফলভাবে ডিপ্লয় করতে পারবেন।
Read more