ORACLE ERP CUSTOM WEB SERVİCE OLUŞTURMAK

Share Button

Oracle eBusiness Suite kullanılan kurumsal firmaların en önemli ihtiyaçlarından biri ERP sistemlerini diğer kullandıkları sistemlerle entegre edebilmektir. Günümüz teknoloji dünyasında entegre sistemleri oluşturabilmek için iki sistem(veritabanı) arasında DBLINK kullanılmalı veya Web Service kullanılmalıdır. Bu yazımda Oracle ERP için PL/SQL kullanarak JDeveloper üzerinde Web Service oluşturmayı inceleyeceğim.

İşlemleri kabaca 6 adımda toplarsak;

  1. oc4jadmin için Parola Değiştirmek
  2. Doğru OPMN Portunu Bulmak
  3. JDeveloper üzerinden Uygulama Sunucusu Bağlantısı Kurmak
  4. Web Service için PL/SQL Fonksiyonu oluşturmak
  5. JDeveloper içinde Web Service Yaratmak ve Uygulama Sunucusuna Yerleştirmek
  6. Web Service Testi

1.oc4jadmin için Parola Değiştirmek

Web Service ile geliştirme yapılabilmesi için JDevleoper üzerinden Application Server bağlantısı kurulmalıdır. Application Server bağlantısı için tanımlı gelen kullanıcı oc4jadmin’dir.

Kurulum sırasında oc4jadmin parolası genellikle standart olarak bırakıldığı için, parolanın manuel müdahale ile değiştirilmesi gerekmektedir. Bu işlem Uygulama Sunucusu içinde oacore altında bulunan system-jazn-data.xml dosyası içinde ilgili bölüm güncellenerek yapılmaktadır. system-jazn-data.xml dosyasını hatalı olarak kaydedilirse apache server açılmamaktadır. Bu yüzden bu dosyayı değiştirmeden önce mutlaka YEDEĞİNİ alınız. Bunun için izlenmesi gereken adımlar aşağıdaki gibidir;

    1. Uygulama sunucusu içinde ilgili home’un (bu işlem her ortam (instance) için farklı yapılmalıdır) /test2_appl/inst/apps/…/ora/10.1.3/j2ee/oacore/config path’ine gidilir.
    2. Örnek path: /test2_appl/inst/apps/…./ora/10.1.3/j2ee/oacore/config
    3. İlgili path altından system-jazn-data.xml dosyası bulunup, açılır.
    4. Dosyanın aşağıdaki kısmı güncellenir. Bu kısımda bulunan <name> tagi kullanıcı adını belirtirken, <credentials> tagi ise parolayı göstermektedir. Parola değişimi için <credentials> tagleri arasına ! ile başlayan bir parola belirlenir.
    5. Parola değiştirildikten sonra dosya kaydedilir ve standart dosyanın üzerine yazılır.
    6. Bu işlemler yapıldıktan sonra, değişikliğin aktif olabilmesi için apache ve oc4j serverlar kapatılıp açılmalıdır.

2.Doğru OPMN Portunu Bulmak

Jdeveloper üzerinden Application Server bağlantısı kurabilmek için gereken diğer bilgilerden biri ise OPMN portudur.  OPMN port’u opmn.xml dosyası içinde yer alan bir bilgidir. Bu bilgiye ulaşabilmek için aşağıdaki yöntem izlenmelidir.

  1. Uygulama suncusu içinde $ORACLE_CONFIG_HOME environment’ına gidilir. Normalde bu environmentler yol üzerinde 10.1.2’yi kullanırlar ancak bizim bakmamız gereken yol 10.1.3 içindedir.
  2. /test2_appl/inst/apps/…/ora/10.1.3/opmn/conf
  3. Bu yol açıldıktan sonra, içindeki opmn.xml dosyası açılır. Dosya içindeki request port’u bizim kullanacağımız opmn portudur. Eğer port erişime açık değilse açtırılması gerekmektedir. Oracle EBS için opmn request portu genellikle Application web portuna benzerdir.

Örnek:  Web Port: 8011 OPMN Port: 6511, Web Port: 8000 OPMN Port 6500

3.JDeveloper üzerinden Uygulama Sunucusu Bağlantısı Kurmak

1.JDeveloper açıldıktan sonra Connections Navigator tabında, Application Server’a sağ tıklanıp, New Application Server Connection seçilir.

Bağlantı İsmi

Bağlantı İsmi

2.Connection Name kısmına Bağlantı adı yazılır. Connection Type ise Oracle Application Server 10g 10.1.3 seçilir. Versyon patchlerine göre buradaki bağlantı tipi değişebilir.
3.Username kısmına oc4jadmin, Password kısmına ise yukarıdaki adımlarda belirtilen parola yazılır.

Bağlantı Bilgileri

Bağlantı Bilgileri

4.Host Name kısmına bağlanmak istediğimiz makinenin ip adresi yazılır. Connect To Single Instance olarak seçilir. OC4J Instance Name için oacore yazılır. OPMN Port’u ise daha önceden belirlediğiniz Request portudur.

oc4jadmin parolası

oc4jadmin parolası

Bağlantı Bilgileri

Test

5.Son adımda bağlantı test edilir.

Test

Test

4.Web Service için PL/SQL Fonksiyonu oluşturmak

Web Service ile veri yayınlamak için JDeveloper’a table type döndüren bir pl/sql fonksiyonu yazılmalıdır. Fonksyion parametrik yapılarak da Web Service için çağrıda bulunan istemciden parametre alınabilir. İlgili parametre PL/SQL kodunun içersinde kullanıma açıktır.

Fonksyion ile tablo tipinde veri döndürmek için önce CUSTOM bir OBJECT yaratılır. Daha sonra bu object’den bir collection yaratılır. Sonraki aşamada ise bu collection bir cursor ile doldurulur. Bunun için aşağıdaki yöntem uygulanmalıdır.

1.CUSTOM bir OBJECT yaratılır.

2.Bu OBJECT’den yeni CUSTOM bir table type (collection) yaratılır.

3.Bu Collection’ı dolduran bir fonksiyon yazılır.

 

5.JDeveloper içinde Web Service Yaratmak ve Uygulama Sunucusuna Yerleştirmek

İlgili Oracle EBS versyonuna ait Oracle Application Framework (OAF) patch’i indirilip veritabanı bağlantısı yapıldıktan sonra,
1.Applications’a sağ tıklayıp New Application’dan yeni bir çalışma alanı oluşturulur.
2.Olşturulan Application’a sağ tıklayıp New Project seçilerek yeni proje oluşturulur.
3.Projeye sağ tıklanıp New seçilir. Açılan ekranda Business Tier -> Web Services -> PL/SQL Web Service seçilir.

ws6

4.Açılan pencerede J2EE 1.4 (JAX-RPC) Web Service seçilir.
5.İkinci adımda eğer daha önceden oluşturulduysa Databse Connection seçilir. Yoksa New’a tıklanarak yeni bir Veritabanı bağlantısı oluşturulabilir. Databse Connection seçildikten sonra yukarıdaki adımlarda yarattığımız Web Service paketi bulunur. Web Service Name alanına Web Service için bir isim belirlenir ve Next’e tıklanır. Bu aşamada JDeveloper Paketin içindeki fonksiyonları aramaya başlayacaktır. Bulunduğunuz Network ve Sistem durumuna göre bu işlem zaman alabilir. En alt kısımda entegre olacağınız sisteme göre desteklencek soap versyonları seçilir.

ws7

6.2. Adımda herhangi birşey değiştirilmeden Next seçilir.
7.Açılan ekrandan ilgili Web Service Veritabanı fonksiyonu seçilir.

ws8

8.Kalan adımlarda herhangi birşey değiştirilmeden devam edilir.
9.Son aşamada ise birşey değiştirmeden Next ve Finish Denilir.
10.JDeveloper Web Service ile ilgili dosyaları ve classları kendisi oluşturduktan sonra, Proje -> Resources altında bulunan .deploy dosyasına sağ tıklanıp Properties açılır. WEB-INF/classes -> Filters tabında bulunan, PL/SQL’den dönen table type işaretlenir.

ws9

11.Web Service’i EBS üzerinden yayınlayabilmek için, daha önce oluşturulan Application Server Bağlantısı kullanılmalıdır. Deployment işlemi için .deploy dosyasına sağ tıklanıp Deploy To -> ApplicationServerConnection seçilmelidir.

ws10

12.Web Service başarılı bir şekilde depoy edildikten sonra linki bulmak için wsdl uzantılı xml dosyası açılır. XML içinde aşağıdaki location tagi içinde link bulunabilir. Ancak link local linktir, ip adresininin değiştirilmesi gerekmektedir. Bu noktada iki adet link bulunabilir.

ws11

13.Üstteki linkten açılan sayfada Service Description’a tıklayarak, entegrasyon için gönderilmesi gereken WSDL linkine ulaşılır.

ws12