build.xml ile Dağıtımın Fethi: WebSphere 6 İçin EAR Örneği

Uygulamaları dağıtmak, özellikle WebSphere gibi kurumsal düzey sunucular ile çalışırken zorlayıcı bir meydan okuma olabilir. Geliştiricilerin sıklıkla karşılaştığı bir soru, Enterprise Archive (EAR) dosyasını dağıtmak için Ant kullanarak etkili bir yapı oluşturmanın nasıl yapılacağıdır. Bu makalede, WebSphere 6.1’de EAR uygulamalarını dağıtmak için özel olarak tasarlanmış bir build.xml dosyasının oluşturulmasına dair ayrıntılı bir örneği adım adım izleyeceğiz. Bu süreci basitleştirerek, uygulamanızın her yerde, her zaman kolayca yeniden derlenip dağıtılabilmesini sağlamayı amaçlıyoruz.

EAR Dağıtımındaki Zorluk

Neden Ant Kullanmalısınız?

Geliştirme ortamında, birçok geliştirici, Ant’ın basit yapısı ve erişilebilirliği nedeniyle Rational Application Development’tan Apache Ant’a geçiş yapmaktadır. Ant, dağıtım tutarlılığı için kritik olan yapı sürecini otomatikleştirmeyi sağlar.

Eğer arkadaşlarınızı Ant’a geçme konusunda ikna etmeye çalışıyorsanız, onlara pratik örnekler ve dağıtımları yönetmenin kolay bir yolunu sunmanız gerekir. İşte burada düzgün yapılandırılmış bir build.xml devreye giriyor.

Ortamınızı Ayarlama

Koda girmeden önce, aşağıdakilere ihtiyacınız olacağını bilmek önemlidir:

  • Ortam: WebSphere Application Server (WAS) 6.1’in uygun bir platformda, örneğin Fedora 8 üzerinde çalıştığından emin olun.
  • ANT: Görevlerini etkin bir şekilde kullanabilmek için Apache Ant’ın ortamınızda kurulmuş olduğundan emin olun.

build.xml Yapısını Anlama

build.xml dosyası, yapı sürecine rehberlik eder. Aşağıda, Ant kullanarak bir EAR dosyasının dağıtımına odaklanan örnek bir yapılandırma verilmiştir.

Uygulamaları Listeleme

Öncelikle, WAS’ta kurulu olan uygulamaları listelemek için bir hedef oluşturacağız.

<?xml version="1.0"?>
<project name="project" default="wasListApps" basedir=".">
    <description>Kurulu uygulamaları listelemek için script.</description>
    <property name="was_home" value="/opt/IBM/SDP70/runtimes/base_v61/"/>

    <path id="was.runtime">
        <fileset dir="${was_home}/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${was_home}/plugins">
            <include name="**/*.jar"/>
        </fileset>
    </path>

    <target name="wasListApps">
        <taskdef name="wsListApp" classname="com.ibm.websphere.ant.tasks.ListApplications" classpath="${was.runtime}"/>
        <wsListApp wasHome="${was_home}"/>
    </target>
</project>

EAR Dosyasını Dağıtma

Sonra, aynı build.xml dosyasında bir dağıtım hedefi ayarlayacağız:

<project name="project" default="default" basedir=".">
    <description>WebSphere Application Server 6.1 için bir EAR oluşturma/dağıtma</description>
    <property name="was_home" value="/opt/IBM/SDP70/runtimes/base_v61/"/>
    <path id="was.runtime">
        <fileset dir="${was_home}/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${was_home}/plugins">
            <include name="**/*.jar"/>
        </fileset>
    </path>
    <property name="ear" value="${env.HOME}/IBM/rationalsdp7.0/workspace/mywebappDeploy/mywebappEAR.ear"/>

    <target name="default" depends="deployEar"/>

    <target name="deployEar" depends="generateEar">
        <taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpath="${was.runtime}"/>
        <wsInstallApp ear="${ear}" failonerror="true" debug="true" taskname="" washome="${was_home}"/>
    </target>
</project>

Önemli Bölümler ve Dikkate Alınacak Hususlar

Dağıtım Notları

  • Tek Kullanım: Uygulama adının halihazırda kullanılıyor olması durumunda, yalnızca bir kez kurulum hedefine çalıştırabilirsiniz. Gerekirse, mevcut uygulamaları kaldırmak için wsUninstallApp görevini kullanmayı araştırın.
  • Sunucu Ortamı: Bu script, gerekli ortam ayarlarından yararlanabilmek için sunucunun profil bin dizininden çalıştırılmak üzere tasarlanmıştır.
  • Hata Yönetimi: failonerror niteliğine dikkat edin; bu niteliği true olarak ayarlamak, bir şeyler ters giderse çalışmayı durduracak ve sorun gidermeye fırsat verecektir.

Düşünülecek Alternatifler

Eğer Ant ile çalışmak biraz zahmetli geliyorsa, Java Management Extensions (JMX) kullanmayı düşünün. Sunucuda bir EAR dosyasını kabul eden bir dosya yükleme servleti yazarak, dağıtım MBean’lerini HTTP üzerinden kullanabilir ve dağıtım sürecinizi daha esnek ve belirli bir geliştirme ortamından bağımsız hale getirebilirsiniz.

Sonuç

Bu yapılandırılmış örnekleri ve yönergeleri takip ederek, WebSphere 6’da Ant kullanarak EAR uygulamalarını etkin bir şekilde dağıtan bir build.xml dosyası oluşturacak ve çalıştıracak şekilde donanımlı olacaksınız. Bu yalnızca dağıtım sürecinizi basitleştirmekle kalmayacak, aynı zamanda geliştirme ekibinizle işbirliğini çok daha verimli hale getirecektir. Ant’a geçiş başlangıçta zorlayıcı gelebilir, ancak pratik ve doğru kaynaklarla iş akışınızı önemli ölçüde kolaylaştırabilirsiniz.

Kendi yapı sürecinizi ayarlarken bu kılavuzu referans olarak kullanmaktan çekinmeyin. İyi kodlamalar!