Showing posts with label WLST. Show all posts
Showing posts with label WLST. Show all posts

Saturday, March 15, 2014

WLST in Java

hallo,

Pada blog kali ini saya akan menulis bagaimana menggunakan WLST command di java dengan studi kasus menambahkan group di user LDAP.

Langsung mulai saja WLST adalah :

The WebLogic Scripting Tool (WLST) is a command-line scripting interface that system administrators and operators use to monitor and manage WebLogic Server instances and domains. The WLST scripting environment is based on the Java scripting interpreter, Jython. In addition to WebLogic scripting functions, you can use common features of interpreted languages, including local variables, conditional variables, and flow control statements. WebLogic Server developers and administrators can extend the WebLogic scripting language to suit their environmental needs by following the Jython language syntax. See http://www.jython.org
Nah langsung saja pertama - tama saya membuat class dengan nama WLSTUtil.

  • WLSTIntepreter berfungsi untuk wrapper Jython interpreter. Sehingga java client dapat menjalankan WLST 
  • execute commend berfungsi untuk mengeksekusi syntax jython.

package wlst;
import org.python.util.InteractiveInterpreter;

import weblogic.management.scripting.utils.WLSTInterpreter;

public class WLSTUtil {
    private InteractiveInterpreter interpreter;
    
    private String weblogicUser="weblogic";
    private String weblogicPassword="welcome1";
    private String weblogicURL="192.168.1.159:7001";
   
    public WLSTUtil() {
        super();
        interpreter = new WLSTInterpreter();
    }

  

    public void disConnect() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("disconnect(force='true')\n");
        this.interpreter.exec(buffer.toString());
    }

    public void connect() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("connect('" + this.weblogicUser + "','" + this.weblogicPassword +
                      "','" + this.weblogicURL + "')");
        
        this.interpreter.exec(buffer.toString());
        }

    public  void execute_command (String cmd) {
      StringBuffer buffer = new StringBuffer();
      System.out.println ("* Execute WLST command : " + cmd );
      buffer.append(cmd);
      interpreter.exec(buffer.toString());
      System.out.println ("* Executed");
  }



}

Dengan class diats kita sudah bisa terhubung dengan WLST, Saya akan memberikan contoh menambahkan menambah group ke user tertentu.


    public void addUserToGroup(String username) {
        WLSTUtil wlstUtil;
        wlstUtil = new WLSTUtil();
        wlstUtil.connect();
        wlstUtil.execute_command("serverConfig()");
        wlstUtil.execute_command("print 'Lookup DefaultAuthenticator' ");
        wlstUtil.execute_command("cmoDefaultAuthenticator=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider('DefaultAuthenticator')");
        wlstUtil.execute_command("cmoDefaultAuthenticator.addMemberToGroup('" +
                                 this.groupName + "','" + username + "')");
        wlstUtil.disConnect();
    }

    public static void main(String[] args) {
        ServiceSetGroup serviceSetGroup = new ServiceSetGroup();
        serviceSetGroup.addUserToGroup("andre");
    }

Diatas merupkan contoh scipting jython yang di panggil menggunakan java client. Selain itu jg kalian bisa create, configure dan manage weblogic domain menggukan WLST.

Demikian blog dari saya, semoga bermanfaat :)



sumber :
http://docs.oracle.com/cd/E21764_01/web.1111/e13715/using_wlst.htm#autoId0

Sunday, September 15, 2013

Migrasi Oracle SOA Composite Application (SCA) tanpa source code aplikasi

Pertanyaan pertama yang dilontarkan teman saya ialah bagaimana me-migrasi aplikasi SCA dari WebLogic 10.3.3 dengan SOA Suite 11.1.1.3 ke WebLogic 10.3.6 dengan SOA Suite 11.1.1.7 tanpa source code aplikasinya ?

Whew, ketakutan pertama saya ialah bagaimana jika ada ketidak-compatible-an dengan versi yang baru. Bagaimana saya bisa meng-compile-nya? Lalu, bagaimana saya men-deploy-nya, sedangkan saya tidak punya hasil build aplikasinya.

Okay, setelah google sana - google sini lalu saya menemukan hal-hal yang menarik tentang hal itu, yaitu :

1. File deployment untuk aplikasi SCA tidak dapat dicari melalui weblogic console / em dan sudah tidak berbentuk sar (sca_*.jar)

2. Untuk mendapatkan aplikasi SCA dengan bentuk sar, dapat menggunakan Ant script ant-sca-deploy.xml yang terdapat pada setiap hasil instalasi SOA Suite.

Untuk menjalankan perintah Ant, sebaiknya masukan binary ke dalam PATH di environment variable.

Jalankan perintah :
ant -f ant-sca-deploy.xml exportComposite -DserverURL=http://10.1.1.11:8001 -DupdateType=all 
-Duser=weblogic -Dpassword=welcome1 -DsarFile=/home/oi/sca_test_hello_world_rev1.0.jar 
-DcompositeName=test_hello_world -Drevision=1.0

maka aplikasi SCA test_hello_world dengan rev 1.0 akan terbentuk di /home/oi/sca_test_hello_world_rev1.0.jar

sebetulnya dengan berhasilnya didapatkan file aplikasi SCA ini, dapat diimport kedalam IDE JDeveloper dan dapat diubah-ubah konfigurasinya, namun mengingat saya tidak memiliki hak untuk merubah source code maka saya tidak melakukan hal tersebut.

3. Untuk mengubah konfigurasi aplikasi SCA seperti host, port, import wsdl location, JCA Adapter dapat menggunakan SOA Configuration Plan.

Pada proses pembuatan aplikasi selalu ada perubahan konfigurasi saat masa development dengan saat akan UAT ataupun Production, untuk mempermudah proses integrasi dengan hal tersebut dapat digunakan SOA Configuration Plan.

Untuk membuat file tersebut ada beberapa cara, salah satunya ialah melalui WLST console dengan perintah sca_generatePlan

Jalankan perintah wlst.sh yang ada di setiap instalasi SOA Suite /u01/app/oracle/product/fmw/soa/common/bin/ untuk masuk ke dalam WLST console dan dapat menggunakan perintahWLST untuk SOA.

Jalankan perintah dibawah ini untuk men-generate SOA Configuration Plan.

sca_generatePlan('/u01/app/oracle/admin/base_domain/SOA_Cluster/sca
/sca_test_hello_world_rev1.0.xml', sar='/u01/app/oracle/admin/base_domain/SOA_Cluster/sca
/sca_test_hello_world_rev1.0.jar', overwrite=true)

Kemudian ubah isi file sca_test_hello_world_rev1.0.xml untuk mendapatkan konfigurasi yang diinginkan. Misal seperti dibawah ini untuk mengubah host dan port dari localhost:8001 menjadi soa.nostratech.com:8001.

<import>
  <searchreplace>
    <search>localhost:8001</search>
    <replace>soa.nostratech.com:8001</replace>
  </searchreplace>
</import>

Untuk mengubah konfigurasi JCA Adapter bisa me-refer ke blog ini.

Setelah file SOA Configuration Plan diubah, bisa divalidasi dengan perintah ini :

sca_validatePlan('/u01/app/oracle/admin/base_domain/SOA_Cluster/sca_log
/sca_test_hello_world_rev1.0.xml','/u01/app/oracle/admin/base_domain/SOA_Cluster/sca
/sca_test_hello_world_rev1.0.xml','/u01/app/oracle/admin/base_domain/SOA_Cluster/sca
/sca_test_hello_world_rev1.0.jar',overwrite=true)

Apabila SOA Configuration Plan sudah sesuai, maka aplikasi SCA sudah siap dideploy. Untuk langkah-langkah deploy dapat melalui EM seperti umumnya, dapat juga dengan Ant ataupun skrip WLST.

Semoga bermanfaat, cheers!