25. 7things
1. Java build tool like Ant
2. App Server
3. JDBC driver
4. JAX-WS API
5. JMS API
6. EJB
7. JMX
8. Spring Framework
9. Java IDE
10. Java OSS library 25
44. 44
空前の SOAP ブーム
※エンタープライズシステム限定
The SOAP boom spread
like wildfire
just only on enterprise system
http://www.flickr.com/photos/usfwssoutheast/4642078354/
49. 49
STEP1: WSDLからコード生成してjarに固める
STEP2: 下記のコードを書く
Step1: generate from WSDL and pack into jar
Step2: write code as follows;
require 'java'
require 'jar/UsersManagerWSClient'
import ‘ws.client.UsersManagerService’
class UsersManager
def initialize
@service =
UsersManagerService.new.get_users_manager_port
end
def find(user_id); transform(@service.find(user_id.to_s)); end
private
def transform(jobj)
# Java オブジェクト ⇒ Rubyオブジェクトの変換
end
end
68. 68
こうやりたいよね
want to do like this way
Java App Server
M1・・・・ M2Mn
MoM
other systems
RDB
ActionController
ActiveRecord
JMS
same transaction
DataSourceJTA
war
web container
69. 69
send queue with user transaction.
# POST /users
# POST /users.xml
def create
ut = InitialContext.new.lookup "UserTransaction“
@user = User.new(params[:user])
respond_to do |format|
begin
ut.begin # transaction begin
@user.save! # persist to RDB
send_queue(@user) # send queue
・・・
ut.commit; # transaction commit
end
rescue
ut.rollback # transaction rollback
・・・
79. Rails App
ActiveRecord process1-2
check out
S2Container
ActiveRecord
Connection
Pool
disconnectcheck in
connect or
reconnect
connection connection
JTA
DataSource
active-record-jdbc
ActiveS2
ActiveRecord
client
use
use UserTransaction
ActiveS2
manage