Format Conversion: JSON থেকে XML, XML থেকে CSV

Apache Camel ডেটা ফরম্যাট কনভার্সনের জন্য একটি শক্তিশালী ফ্রেমওয়ার্ক প্রদান করে। এখানে আমরা JSON থেকে XML এবং XML থেকে CSV কনভার্সনের পদ্ধতি নিয়ে আলোচনা করব।

১. JSON থেকে XML কনভার্সন

বর্ণনা: JSON এবং XML দুটি জনপ্রিয় ডেটা ফরম্যাট। JSON থেকে XML-এ কনভার্ট করা একটি সাধারণ কাজ যা বিভিন্ন সিস্টেমের মধ্যে তথ্য আদান-প্রদান করার সময় প্রয়োজন হতে পারে।

উদাহরণ:

import org.apache.camel.builder.RouteBuilder;

public class JsonToXmlRoute extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("direct:jsonInput")
            .unmarshal().json() // JSON কে অবজেক্টে রূপান্তর
            .marshal().jaxb("com.example.model") // JAXB ব্যবহার করে XML-এ রূপান্তর
            .to("log:convertedXml");
    }
}

বিঃদ্রঃ: এখানে com.example.model প্যাকেজে JAXB এনোটেশন দ্বারা কাস্টম ক্লাস থাকতে হবে যা JSON অবজেক্টের কাঠামো অনুযায়ী।

২. XML থেকে CSV কনভার্সন

বর্ণনা: XML ডেটা CSV ফরম্যাটে কনভার্ট করা একটি সাধারণ চাহিদা, বিশেষত যখন আপনি ডেটা বিশ্লেষণ বা রিপোর্টিং করার জন্য এটি সহজে পাঠযোগ্য ফরম্যাটে চান।

উদাহরণ:

import org.apache.camel.builder.RouteBuilder;

public class XmlToCsvRoute extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("direct:xmlInput")
            .unmarshal().jaxb("com.example.model") // JAXB ব্যবহার করে XML থেকে অবজেক্টে রূপান্তর
            .marshal().csv() // অবজেক্টকে CSV ফরম্যাটে রূপান্তর
            .to("log:convertedCsv");
    }
}

বিঃদ্রঃ: এখানে com.example.model প্যাকেজে JAXB এনোটেশন দ্বারা কাস্টম ক্লাস থাকতে হবে যাতে XML এর কাঠামো অনুযায়ী ডেটা মডেল করা হয়।

সম্পূর্ণ রাউট উদাহরণ

import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.builder.RouteBuilder;

public class MainApp {
    public static void main(String[] args) throws Exception {
        CamelContext camelContext = new DefaultCamelContext();
        
        // JSON থেকে XML কনভার্সন রাউট যুক্ত করা
        camelContext.addRoutes(new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from("direct:jsonInput")
                    .unmarshal().json()
                    .marshal().jaxb("com.example.model")
                    .to("log:convertedXml");
            }
        });

        // XML থেকে CSV কনভার্সন রাউট যুক্ত করা
        camelContext.addRoutes(new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from("direct:xmlInput")
                    .unmarshal().jaxb("com.example.model")
                    .marshal().csv()
                    .to("log:convertedCsv");
            }
        });

        camelContext.start();
        
        // JSON ইনপুট পাঠানো
        camelContext.createProducerTemplate().sendBody("direct:jsonInput", "{\"name\":\"John\", \"age\":30}");

        // XML ইনপুট পাঠানো
        camelContext.createProducerTemplate().sendBody("direct:xmlInput", "<person><name>John</name><age>30</age></person>");

        // কিছু সময়ের জন্য চালিয়ে রাখা
        Thread.sleep(5000);
        
        camelContext.stop();
    }
}

উপসংহার

Apache Camel JSON থেকে XML এবং XML থেকে CSV ফরম্যাট কনভার্সনের জন্য একটি শক্তিশালী সমাধান প্রদান করে। উপরোক্ত উদাহরণগুলি ব্যবহার করে, আপনি সহজেই আপনার ডেটার ফরম্যাট কনভার্সন সম্পন্ন করতে পারেন। Camel এর শক্তিশালী ডেটা ট্রান্সফরমেশন মেকানিজমগুলি ডেটা ইন্টিগ্রেশনকে আরও সহজ করে তোলে।

আরও দেখুন...

Promotion