SOM mimarisinde uygulama geliştirmek için Oracle firmasının Oracle SOA Suite ürününü kullanabilirsiniz. Bu platform üzerinde geliştirilen uygulamalara Karma Uygulama (=Composite Applications) adını veriyoruz. Bu tür uygulamalar geliştirmek için Oracle firmasının ücretsiz olarak dağıttığı JDeveloper IDE'sini kullanmalısınız. Ancak Oracle web sitesinden indirdiğiniz JDeveloper tek başına yeterli olmaz, ayrıca SOA eklentisini de kurmalısınız. JDeveloper kullanarak geliştirdiğiniz uygulamaları yayınlamak için farklı yöntemler vardır. Bu yazıda bu yöntemleri ele alacağız:
1. JDeveloper Kullanarak Yayınlamak
2. Enterprise Manager kullanarak Yayınlamak
3. Ant betiği kullanarak Yayınlamak
4. WLST (Web Logic Scripting Tool) kullanarak Yayınlamak
1. JDeveloper Kullanarak Yayınlamak
Geliştirici için en basit yöntem uygulamayı JDeveloper üzerinde yayınlamaktır:
1. Adım:
2. Adım:
3. Adım:
4. Adım:
5. Adım:
Deployment sekmesinde aşağıdaki log kaydını görmelisiniz:
[10:56:42 PM] ---- Deployment started. ----
[10:56:42 PM] Target platform is (Weblogic 10.3).
[10:56:42 PM] Running dependency analysis...
[10:56:42 PM] Building...
[10:56:49 PM] Deploying profile...
[10:56:49 PM] Updating revision id for the SOA Project 'HelloWorld.jpr' to '1.0'..
[10:56:49 PM] Wrote Archive Module to D:\labs\mywork\Basics\HelloWorld\deploy\sca_HelloWorld_rev1.0.jar
[10:56:49 PM] Deploying sca_HelloWorld_rev1.0.jar to partition "default" on server soa_server1 [192.168.211.135:8001]
[10:56:49 PM] Processing sar=/D:/labs/mywork/Basics/HelloWorld/deploy/sca_HelloWorld_rev1.0.jar
[10:56:49 PM] Adding sar file - D:\labs\mywork\Basics\HelloWorld\deploy\sca_HelloWorld_rev1.0.jar
[10:56:49 PM] Preparing to send HTTP request for deployment
[10:56:49 PM] Creating HTTP connection to host:192.168.211.135, port:8001
[10:56:49 PM] Sending internal deployment descriptor
[10:56:49 PM] Sending archive - sca_HelloWorld_rev1.0.jar
[10:56:50 PM] Received HTTP response from the server, response code=200
[10:56:50 PM] Successfully deployed archive sca_HelloWorld_rev1.0.jar to partition "default" on server soa_server1 [192.168.211.135:8001]
[10:56:50 PM] Elapsed time for deployment: 8 seconds
[10:56:50 PM] ---- Deployment finished. ----
1. Adım:
2. Adım:
3. Adım:
4. Adım:
Uygulama başarılı bir şekilde yayınlandığında, default bölmesinde uygulama listedeki yerini alacaktır:
3. Ant betiği kullanarak Yayınlamak
Windows platformu için temel olarak ant komutunu kullanan aşağıdaki gibi bir betik yazıyoruz:
deploy.cmd:
@echo off
setlocal
set ANT_HOME=D:\Oracle\fmw\11.1.1.3\modules\org.apache.ant_1.7.1
path %ANT_HOME%\bin;%PATH%
set SOA_HOME=D:\Oracle\fmw\11.1.1.3\Oracle_SOA1
set SOA_BIN=%SOA_HOME%\bin
set SAR_FILE=%1
set CONFIG_PLAN=%2
set PARTITION=%3
if "%SAR_FILE%"=="" goto usage
if NOT "%CONFIG_PLAN%"=="" set CONFIG_PLAN=-Dconfigplan=%CONFIG_PLAN%
if "%PARTITION%"=="" set PARTITION=default
@echo on
ant -f %SOA_BIN%\ant-sca-deploy.xml -DserverURL=http://localhost:8001 -DsarLocation=%SAR_FILE% -Doverwrite=true -Duser=weblogic -Dpassword=welcome1 -DforceDefault=true %CONFIG_PLAN% -Dpartition=%PARTITION%
@echo off
goto end
:usage:
echo To deploy a composite application use the following syntax:
echo.
echo Usage: deploy[.cmd] sar-file-name [config-plan] [partition]
echo.
echo Revision is derived from the SAR file name. The sar-file-name must be provided.
echo The config-plan is the XML file name for the configuration plan (if any).
echo The partition is set to 'default' unless specified as the third parameter.
echo.
:end
endlocal
Daha sonra bu betiği kullanarak, uygulamayı aşağıdaki gibi yayınlıyoruz:
D:\tmp>deploy sca_HelloWorld_rev1.0.jar
D:\tmp>ant -f D:\Oracle\fmw\11.1.1.3\Oracle_SOA1\bin\ant-sca-deploy.xml -Dserver
URL=http://localhost:8001 -DsarLocation=sca_HelloWorld_rev1.0.jar -Doverwrite=tr
ue -Duser=weblogic -Dpassword=welcome1 -DforceDefault=true -Dpartition=default
Buildfile: D:\Oracle\fmw\11.1.1.3\Oracle_SOA1\bin\ant-sca-deploy.xml
[echo] oracle.home = D:\Oracle\fmw\11.1.1.3\Oracle_SOA1\bin/..
deploy:
[input] skipping input as property serverURL has already been set.
[input] skipping input as property sarLocation has already been set.
[deployComposite] setting user/password..., user=weblogic
[deployComposite] Processing sar=sca_HelloWorld_rev1.0.jar
[deployComposite] Adding sar file - D:\tmp\sca_HelloWorld_rev1.0.jar
[deployComposite] Creating HTTP connection to host:localhost, port:8001
[deployComposite] Received HTTP response from the server, response code=200
[deployComposite] ---->Deploying composite success.
BUILD SUCCESSFUL
Total time: 1 second
4. WLST (Web Logic Scripting Tool) kullanarak Yayınlamak
Weblogic uygulama sunucusunda için işleri otomatikleştirmek için WLST'den yararlanıyoruz. Oracle SOA Suite kurulu bir makinada, karma uygulama ile ilgili işlemleri yapmamızı sağlayacak hazır Python fonksiyonları yer alır. Bu Python çağrılarının listesine ve açıklamalarına bu bağlantıdan ulaşabilirsiniz. Aşağıda bu çağrılardan bazılarının kullanıldığı bir senaryo yer alıyor:
D:\>wlst
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
wls:/offline> connect('weblogic','welcome1', 't3://localhost:8001')
Connecting to t3://localhost:8001 with userid weblogic ...
Successfully connected to managed Server 'soa_server1' that belongs to domain 'soa_domain'.
Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead.
wls:/soa_domain/serverConfig> sca_listDeployedComposites('localhost','8001','weblogic','welcome1');
host = localhost
port = 8001
user = weblogic
Connecting to: service:jmx:t3://localhost:8001/jndi/weblogic.management.mbeanservers.runtime
Following 1 composites are currently deployed to the platform:
1. HelloWorld[1.0], partition=default, mode=active, state=on, isDefault=true, deployedTime=2015-08-17T16:04:23.078+03:00
wls:/soa_domain/serverConfig> sca_undeployComposite('http://localhost:8001','HelloWorld','1.0',partition='default')
serverURL = http://localhost:8001
user = None
partition = default
compositeName = HelloWorld
revision = 1.0
timeout= -1
compositeDN = default/HelloWorld!1.0
Creating HTTP connection to host:localhost, port:8001
Received HTTP response from the server, response code=200
---->Undeploying composite (default/HelloWorld!1.0) success.
wls:/soa_domain/serverConfig> sca_deployComposite('http://localhost:8001','d:/tmp/sca_HelloWorld_rev1.0.jar')
serverURL = http://localhost:8001
sarLocation = d:/tmp/sca_HelloWorld_rev1.0.jar
partition = default
overwrite = 0
user = None
forceDefault = 1
configplan = None
timeout = -1
Processing sar=d:\tmp\sca_HelloWorld_rev1.0.jar
Adding sar file - d:\tmp\sca_HelloWorld_rev1.0.jar
Creating HTTP connection to host:localhost, port:8001
Received HTTP response from the server, response code=200
---->Deploying composite success.
wls:/soa_domain/serverConfig>