Oracle etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Oracle etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

12 Şubat 2012 Pazar

Weblogic Sunucu Domainleri I

1.Giriş

Weblogic sunucu kaynaklarının bir arada bulunması ile domain oluşur. Domain’de mutlaka bir Administrative Server (sunucu) bulunur ve domain kaynaklarının yönetilmesi bunun sayesinde yapılır. Kullanıcılar genelde kaynak her türlü programları (web, ejb,web servis) ve diğer kaynaklar için Managed Server oluştururlar. İhtiyaca göre bir kurulum ile birden fazla domain yada birden fazla kurulum ile bir domain kullanılabilinir.
Özet olarak Domain Yapısı aşağıdaki gibidir
  • Administrative Server
  • Managed Servers
  • Kaynaklar ve Servisler (jdbc, jms, kaynak adaptörleri,güvenlik ayarları)

2.Domain kurulumu

Weblogic sunucusu kurulduktan sonra programların ve/veya servislerin kullanılabilmesi içi doğal olarak domain’e ihtiyacımız var. Bunun için bir kaç yol var;
  1. config.bat veya config.sh komutları yardımıyla sihirbaz kullanarak,
  2. Linux ortamında eğer xwindows mevcut değilse console yapısı ile
  3. WLST Weblogic skrip dilini kullanarak
  4. Son olarak da eğer daha önce oluşturulmuş template var ise bunları kullanarak

3.Sihirbaz Kullanarak Domain oluşturma

Bir çok durumda en kolay metod sihirbaz yardımı ile oluşturmaktır. İleride WLST script oluşturmak için de kuruluma hakim olmak adına sihirbaz iyi bir kaynak olarak da düşünülebilinir


1. Welcome


<WL_HOME>/common/bin altindaki config.sh/bat dosyası çalıştırılır. İlk kez domain kurduğumuz için Create a New WebLogic Domain seçilir ve Next’e basılır.

2. Select Domain Source


Domain’ı kurma amacınıza göre gelen seçeneklerden bir veya daha fazlasını seçebilirsiniz. Minimum gereksinimler zaten default olarak seçilmiş geliyor. İleri derece web servisler için iki ek başlık var.
3. Specify Domain Name and Location



Önce domainin ismini yazıyoruz. Burada önemli olan isminin anlaşılabilir olması çünkü domainler çoğaldıkça hangi program hangi domainde çalışıyor bulmak zaman alabilir. Domain path için default olarak weblogic altındaki user_projects klasörünü gösteriyor ki bu da yeterli.

4. Configure Administrator User Name and Password

Weblogic Admin kullanıcısı ve şifresini tanımlama ekranı güvenlik için farklı bir isim düşünülebilir ancak development ortamı için weblogic yeterli. Sifre en az 1 numerik içeren ve en az 8 alfanumerik karakterden oluşmalı
5. Configure Server Start Mode and JDK

Sunucunun başlangıç modu ve buna bağlı olarak Java Development Kit'i seçiyoruz, development mode için java sun jdk tavsiye edilirken güvenlik daha düşük olduğundan sunucu açılırken kullanıcı adı ve şifre sorulmaz. Production modu için Jrockit tavsiye edilirken açılışta kullanıcı adı ve şifre gerekiyor, en azından ilk açılış için. Biz development mode ile devam ediyoruz.

6. Select Optional Configuration:



Her ne kadar özellikle development ortamı için sadece Admin Server kurup geliştirme ve testleri yapmak mümkün olsa da managed server oluşturup her türlü deployment ve tanımlamaların yapılması tavsiye ediliyor. Biz de bu şekilde devam ediyoruz

7. Configure Admin Server



Admin Server'ın portunu, SSL kullanıp kullanmayacağını kullanacaksa hangi porttan olacağını seçiyoruz. Bunlar daha sonra da rahatlıkla değiştirilebilinir.

8. Configure Managed Server



Bir önceki basamakta Admin server için yaptığımız ayarlar bu sefer Manager server(lar) için yapıyoruz.

9. Configure Clusters



Eğer Cluster yapısı oluştumak istenirse ayarlar burada yapılıyor. Biz development ortamı için cluster olmadan devam ediyoruz. Ancak Production ortamında eğer lisans müsade ediyorsa çok yararlı olabilir.

10.Configure Machines



Managed server(lar) oluşturduğumuza göre bunları node manager yardımı ile yönetmek için Makine oluşturmakta fayda var, sunucun türüne göre windows veya unix seçilmeli ve ona gore ayarları giriyoruz.

11. Assign Servers to machine

Oluşturulan sunucuları bir önceki basamakta oluşturduğumuz makinaya bağlıyoruz



12. Configuration Summary

Son basamakta şu ana kadar yaptıklarımızı kontrol edip create tuşuna basıyoruz.

13. Creating Domain


Domain oluşturma sona erdiğinde yapılan işlemlerinde olduğu ekran geliyor. İstenirse admin server check box'a basılarak done tuşuna basıldıktan sonra çalıştırılabilir.


    18 Ocak 2012 Çarşamba

    Jdeveloper ile WebService-I (PL/SQL)

    Şirket birleşmeleri, 3. parti yazılımların entegrasyonu derken Webservisler artık çok sık kullanılıyor. Özellikle SOA yapısında ağırlığı olan bu sistem Oracle Jdeveloper'ın geliştirme ortamı ile de çok kolay geliştirilebiliyor. Bir seri olarak düşündüğüm bu konuda ilk olarak en kolaya kaçıp PL/SQL paketlerinde webservice oluşturma konusuna değinceğim.

    Tabiki öncelikle bir veritabanı paketine ihtiyacımız var. Bende kurulu Oracle 11g Express Edition'da HR kullanıcısında bir paket yaratarak başlayalım. HR kullanıcısı genelde güvenlik açısından kilitli olarak oluşturulur. Bunu açmak için SYS VE SYSTEM ile bağlanıp açmak gerekiyor. Bu kullanıcıların şifrelerini hatırlamıyorsanız veritabanının kurulu olduğu sunucuda

    sqlplus /nolog  - ile sqlplus penceresi açtıktan sonra
    conn / as sysdba  -komutu ile sys kullanıcısı olarak sisteme girebilirsiniz daha sonra
    ALTER USER HR ACCOUNT UNLOCK; komutu ile hesabı açabilirsiniz

    Artık aşağıdaki test paketini oluştumak için hiçbir engel kalmadı (yazının sonundan copy/paste yapabilirsiniz)



    Görüldüğü üzere sadece test amaçlı olduğundan gayet basit bir paket hazırladım. Şimdi Jdeveloper'ı açalım ve yeni bir application ve buna bağlı bir Web Service projesi oluşturalım.

    Eğer açık bir program yoksa solda New Application'a tıklayarak sihirbazı başlatabilirsiniz. Bu adım application ismini, yerini belirledikten sonra Generic Application'ı seçerek Next'e basın.


    
    Ikinci adımda proje ismi ve yeri girildikten sonra solda Available kısmında Webservice seçildikten sonra sağ okuna basılarak selected kısmına getirilir ve Next Tuşuna basılır.
    


    En son olarak Java dosyaları ile ilgili bilgiler kontrol edilerek Finish tuşuna basılır. Ben bu çapta bir program için application ve project isimleri dışında default verileri kabul etmekte bir sakınca görmüyorum.

    Proje boş olarak yaratıldı. Eğer kontrol ederseniz henüz hiçbir dosyanın bulunmadığını konfirme edersiniz. PL/SQL paketimize ulaşmak için solda Application Resources altında Connections klasöründeki Database'i seçip farenin sağ tuşu ile yeni bir veritabanı bağlantısı oluşturalım.  Bu bağlantıda veritabanı paketimiz olan db'ye bağlanıyoruz. Benim için bilgisayarımda bulunan Oracle 11 XE ve açılan bağlantı penceresinde onun bilgilerini giriyorum. Test Connection ile sorun yoksa OK'ye basarak pencereyi kapatabiliriz


    Daha sonra veritabanı bağlantısı için Database Package'lerde az önce oluşturduğum
    pkg_EmployeeInformation paketini seçerek sağ tuşa basında en altta Publish As Webservice seçeneğini seçiyoruz






    Artık Web Service oluşturmaya başladık. Welcome ekranın sağ altta bir daha göstermeyi işaretledikten sonra Target projeyi seçiyoruz. Şu an sadece tek proje olduğundan default olarak gelen appHrTest.jws/prHrTest.jpr seçili iken Next'e basıyoruz

    Bu adımda hangi Web Service platformunu kullanmak istediğiniz soruluyor. Makinadaki Java ayarları da gözönüne alınarak gelen seçeneklerde benim şansıma sadece J2EE 1.4 JAX-RPC, with support for 10.3 WLS geliyor, fazla seçenek olmadığından Next'e basıyoruz

    4. Adımda aslında welcome düşünmezsek 3. oluyor, paket ismini ve Webservice ismini giriyoruz, ben yaratıcılığımı konuşturarak webservice ismini wsHrTest olarak girdim. Next'e basıyoruz.

    5. Adımda, Mesaj Formatında, Generate Schema with Qualified Elements işaretli kalıyor ve SOAP Message formatı RPC/Literal olarak default değerlerde bırakarak Next tuşuna basıyoruz

    6. Adımda paketin içinde Webservice olarak kullanılabileceğimiz programlar görünüyor. Örneğimizde sadece bir tane var onu seçip Next tuşuna basıyoruz


    Bu noktadan sonra eğer type mapping'ler ile ilgili bir ayara yapmayacaksanız yada security vs özel bir uygulamaya gitmiyorsanız benim gibi Finish'e basabilirsiniz.

    Artık webservice ile ilgili gerekli tüm dosyalar java, xml ve wsdl dosyası oluşmuş durumda.


    Hemen test edebiliriz WsHrTest'in üzerinde sağ tuşa basarak Test Web Service'i seçtiğimizde eğer integrated server açılmadıysa önce onu açacaktır. Daha sonra HTTP Analyzer penceresi açılacak. Solda request employee id alanına örneğin 100 girip Send Request'e bastığınızda sağda Executive olarak cevabın geldiğini göreceksiniz




    Ayrıca altta HTTP content/Hex Content/Raw Message görünüm opsiyonlarını da kullanabilirsiniz.

    Sonuç olarak JDeveloper ile bir çok kez default değerleri kullanarak önce bir web servis projesi oluşturduk, daha sonra veritabanı bağlantısı ile kurarak veritabanı paketinden sihirbaz yardımı ile web servis yaratmış olduk. Bunun bu kadar basit olması sayesinde farklı sistemler ile haberleşme konusunda eğer veritabanı paketi hazır ise bir kaç dakikada webservis oluşturulabiliniyor.

    ----------------------------------------------------------------------------------------------------------------------
    CREATE OR REPLACE PACKAGE pkg_EmployeeInformation
    IS
      FUNCTION get_EmployeeDepartment (EmployeeId_in NUMBER) RETURN VARCHAR2;
    END;
    /
    CREATE OR REPLACE PACKAGE BODY pkg_EmployeeInformation
    IS

    FUNCTION get_EmployeeDepartment (EmployeeId_in NUMBER) RETURN VARCHAR2
    IS
      BEGIN
        FOR REC IN (
                    SELECT d.department_name dname
                    FROM employees e, departments d
                    WHERE e.department_id=d.department_id
                    AND   e.employee_id= EmployeeId_in
                    AND   rownum=1
                    ) LOOP
           RETURN rec.dname;
         END LOOP;
      END;
    END;
    /

    -----------------------------------------------------------------------------------------------------------------------

    12 Ocak 2012 Perşembe

    Weblogic Silent Install

    Bir çok program gibi Oracle ürünleri de standartlaştırma, otomasyon ve kolaylık açısından sessiz kurulum seçenekleri sunuyor. Oracle'ın hemen hemen her ürününde olan bu özelliği Weblogic 10.3.5 versiyonu ile test ederek pratikte oracle dökümantasyonunda  belirtilmeyen ve ancak tecrübelilerin bilebileceği bazı noktaları da ekledik.

    Öncelikle sessiz kurulum normal kurulumdan daha kısa sürmüyor. Ayrıca Oracle'ın eski IAS kurulumlarına göre bu kurulum wizardlar yardımıyla oldukça. Ancak basitliği ve wizard bekleme yerine sadece 1 xml ve bir satır komut ile hiç başında durmadan kurulum gerçekleştirilebilinir.

    XML Dosyası


    Benim kullandığım örnek dosya aşağıda. Bu xml confıgurasyonlarını Linux OEL 5.7'de test edildi
    <?xml version="1.0" encoding="UTF-8"?>
       <bea-installer>
         <input-fields>
           <data-value name="BEAHOME" value="/u01/app/oracle/product/Middleware" />
           <data-value name="WLS_INSTALL_DIR" value="/u01/app/oracle/product/Middleware/wlserver_10.3" />
           <data-value name="COMPONENT_PATHS" value="WebLogic Server/Core Application Server|WebLogic Server/Administration Console|WebLogic Server/Configuration Wizard and Upgrade Framework|WebLogic Server/Web 2.0 HTTP Pub-Sub Server|WebLogic Server/WebLogic SCA|WebLogic Server/WebLogic JDBC Drivers|WebLogic Server/Third Party JDBC Drivers|WebLogic Server/WebLogic Server Clients|WebLogic Server/WebLogic Web Server Plugins|WebLogic Server/UDDI and Xquery Support|Oracle Coherence/Coherence Product Files" />
           <data-value name="INSTALL_NODE_MANAGER_SERVICE" value="YES" />
           <data-value name="NODEMGR_PORT" value="5559" />
           <!--data-value name="BEA_BUNDLED_JVMS" value="jdk160_24"/-->
       </input-fields>
    </bea-installer>

    Dosya ile ilgili bazı noktaları özetlemek gerekirse
    1. Oracle dökümantasyonunda bulunan dosyanın başında açıklamalar var. Dosya kullanılacağı zaman bunların silinmesi gerekiyor ve en üstte <?xml version="1.0" encoding="UTF-8"?> satırı olmalı.
    2. Kurulum için linux veya window çok farketmiyor ama çalıştırdığınız kullanıcın klasör vs yaratabilmesi gerekiyor. Ya da bunların daha önce hakları olan birisi tarafından yaratılmalı
    3. Her ne kadar BEA_BUNDLED_JVMS parameteresi ile JVM seçimi yapılabildiği söylensede ben bu parametre ile JDK yükleyemedim. O yüzden bu parametreyi commentleyerek iki JVM'nin de yüklenmesine olanak sağladım, aksi takdirde hiçbir JVM yüklenemiyor
    4. COMPONENT_PATHS parametresindeki value alanına girdiğiniz ürünlerin listesinde herhangi bir boşluk veya hard carriage olmamalı. Aksi takdirde hata veriyor.
    5.LOCAL_JVMS bu parametre eğer daha önce herhangi bir JVM yüklü ise kullanılıyor. Kanımca en çok faydalı olduğu zaman 64 bit işletim sistemine yüklerken önce 64 bit JVM yüklendikten sonra WLS kurulumunda bu JVM'yi göstermek gerekiyor.

    Tüm bunları gözönüne alarak xml dosyası düzenlendikten  sonra asağıaki komutu kendi durumunuza göre özelleştirmeniz gerekir.

      wls1035_oepe111172_win32.exe -mode=silent -silent_xml=silent_wls_10_3_5.xml -log=log.txt

    1. wls1035_oepe111172_win32.exe  Oracle websitesinden indirilen wls 10.3.5 kurulum dosyası.
    2. -mode=silent silent installation olduğunu belirtiyor
    3. -silent_xml=silent_wls_10_3_5.xml silent installation ile ilgili parametrelerin yeraldığı xml dosyasının yeri ve adı
    4  -log=log.txt kurulum ile ilgi log dosyasının yeri ve adı. Bu parametreye dökümantasyonda rastlamadım ama testlerimde çok faydasını gördüm

    eğer kurulum başarılı ise log dosyasının en altında şu şekilde bir cümle olmalı

    INFO  [WizardController] com.bea.plateng.wizard.silent.tasks.LogTask - The installation was successfull!


    Aşağıdaki yaklaşık 6 dakikalık videoda windows 7 32 bitlik bir pc'ye yükleme görüntülerini sessizce izleyebilirsiniz



    youtube video(6:13) :http://www.youtube.com/watch?v=cBn_iEoU-no&feature=youtu.be

    Yorumlarınızı/Sorularınızı bekliyorum