Novell Nsure UDDI Serverをインストールする。

卒研に必要っぽいので。

UDDIって?

UDDI(Universal Description, Discovery and Integration)とは、Webサービス用の検索システムのこと。Webサービス公開者はUDDIレジストリにWebサービスの情報(どういうサービスか、どこにあるのか、誰のものか、など)を登録し、Webサービス利用者はUDDIレジストリに対して検索をし目的に合致したWebサービスを探し出すという仕組み。

http://ja.wikipedia.org/wiki/UDDI

Web 2.0とか、APIとか流行ってるのにUDDIはさっぱり流行ってない罠。


英語版 Wikipediaより

Universal Description, Discovery and Integration (UDDI) is a platform-independent, XML-based registry for businesses worldwide to list themselves on the Internet. UDDI is an open industry initiative, sponsored by OASIS, enabling businesses to publish service listings and discover each other and define how the services or software applications interact over the Internet. A UDDI business registration consists of three components:

http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration

英語版 WikipediaのUDDI Implementationsの項からNovell Nsure UDDI ServerというオープンソースのUDDIを見つけたのでインストールしてみることにする。


ちなみにUDDIにはUDDIv2とUDDIv3があるんだけど、このUDDIサーバーは結局どっちなんだろう。UDDIは上位互換なのか?

Novell Nsure UDDI Server is a UDDI version 2.0 registry, that leverages a directory backend to manage registry content and control access to it. It offers secure access (authentication and authorization) to UDDI registry entries, unified account management, and distribution of the registry content leveraging Directory Services, and offers great value for public as well as private UDDI registry deployments. Leveraging LDAP directory backend for UDDI is a natural fit, as UDDI is the "new face" of a directory in a web services environment.

NSure UDDI Server is a cross-platform Java implementation that can be deployed on any J2EE Servlet container, and has been tested with Tomcat and JBoss. It works with any standard LDAPv3 directory server. When integrated with Novell eDirectory, it offers unique features (e.g. Atomic Update for UDDI Publish operations) and best performance leveraging eDirectory capabilities.

http://developer.novell.com/wiki/index.php/Novell_Nsure_UDDI_Server

ライセンスはApache License 2.0

NSure UDDI Serverのダウンロード

ダウンロードページからUDDI_1.1.3.tar.gzをダウンロード、適当なところに保存して解凍。

Tomcatのインストール

前のエントリを参照

OpenLDAPのインストール

$ sudo apt-get install slapd ldap-utils

OpenLDAPの設定

解凍したファイルに含まれてるuddi-server-install.pdfを見ながら作業。
PDFファイルを開くにはevince。そんなの知らないよ><

evince  UDDI_1.1.3/server/uddi-server-install.pdf

スキーマファイルをコピー

sudo cp UDDI_1.1.3/server/conf/uddi-ldap-schema.schema /etc/ldap/schema/

sladp.confの編集

sudo gedit /etc/ldap/sladp.conf
# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include		/etc/ldap/schema/uddi-ldap-schema.schema #追加

(中略)

#rootdnの設定
rootdn          "cn=admin,dc=nodomain"
rootpw          {SSHA}Gygh5FKBJqa+0/+R2UkpC/ka2w0nqH/J

(中略)

#アクセス制限
access to dn.base="dc=nodomain,ou=uddi"
        by * read
        by dn.base="dc=nodomain,cn=ServerAdmin" write

#検索の高速化
index uddiid,uddiX-JavaContainerClass,uddiDeleted eq
index uddiBusinessKey,uddiServiceKey,uddiBindingKey,uddiTModelKey eq,pres
index uddiName,uddiKeyValue eq,subany

rootpwに設定するパスワードを暗号化した文字列はslappasswdで取得する。

$ slappasswd 
New password: 
Re-enter new password: 
{SSHA}Gygh5FKBJqa+0/+R2UkpC/ka2w0nqH/J

これはパスワードをadminにした例。

OpenLDAPの再起動

$ sudo /etc/init.d/slapd restart

Serverのユーザーを登録する。そのための定義ファイルを編集。

$ sudo gedit UDDI_1.1.3/server/conf/uddi-node-init.ldif

dnをちょっと変更。

version: 1
dn: cn=ServerAdmin,dc=nodomain #変更
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: ServerAdmin
sn: ServerAdmin
userPassword:: MTEx

dn: ou=uddi,dc=nodomain  #変更
objectClass: organizationalUnit
objectClass: top
ou: uddi


LDAPサーバーに反映する。

$ sudo ldapadd -D "cn=admin,dc=nodomain" -x -W -f  UDDI_1.1.3/server/conf/uddi-node-init.ldif

#まだまだ追記予定