slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
VO サービスの立ち上げ方 PowerPoint Presentation
Download Presentation
VO サービスの立ち上げ方

Loading in 2 Seconds...

play fullscreen
1 / 13

VO サービスの立ち上げ方 - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

VO サービスの立ち上げ方. データセンター 白崎裕治. SkyNode toolkit. VO Interface に準拠したサービスの立ち上げは結構難しい。 サービスのインターフェイス部分は出来合いのソフトウエアを使うのが妥当。 JVO では SkyNode サービスを簡単に立ち上げるための Toolkit を開発し、公開している。 http://jvo.nao.ac.jp/download/skynode-toolkit/. JVO SkyNode Architecture. SIAP/SSAP/SkyNode OUT. SkyNode IN.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'VO サービスの立ち上げ方' - rosalie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
VOサービスの立ち上げ方

データセンター 白崎裕治

skynode toolkit
SkyNode toolkit
  • VO Interface に準拠したサービスの立ち上げは結構難しい。
  • サービスのインターフェイス部分は出来合いのソフトウエアを使うのが妥当。
  • JVO では SkyNode サービスを簡単に立ち上げるための Toolkit を開発し、公開している。
  • http://jvo.nao.ac.jp/download/skynode-toolkit/
jvo skynode architecture
JVO SkyNode Architecture

SIAP/SSAP/SkyNode OUT

SkyNode IN

SIAP/SSAP IN

Translator

Parameter

Interface

ADQL

VOTable

VOTable

Formatter

QL Converter

Controller

upload

JDBC

JDBC

SQL for backend DB

Resource

ResultSet

Data

Metadata

ResultSetMetaData

java class
主要な Java Class
  • org.apache.axis.transport.http.AxisServlet
  • jp.ac.nao.jvop3.service.skynode.SkyNodeSoapImpl
  • jp.ac.nao.jvop3.gateway.SOAPGatewaySkyNode
  • jp.ac.nao.jvop3.controller.skynode.SkyNodeImpl
  • jp.ac.nao.jvop3.controller.skynode.QuerySkyNode
    • jp.ac.nao.jvop3.controller.skynode.ResultSetForSkyNode
    • jp.ac.nao.jvop3.controller.skynode.ResultSetMetaDataForSkyNode
  • jp.ac.nao.jvop3.controller.skynode.DataFormatter
skynodesoapimpl
SkyNodeSoapImpl
  • SOAP エンジンから直接呼び出されるクラス。
  • http://jvo.nao.ac.jp/skynode/services/@serviceName@
  • wsdd file または web GUI で指定。
  • アクセス先 DB 名は wsdd file にパラメータとして定義

etc/deploy-template.wsdd

<service name="@serviceName@" provider="java:RPC"

style="wrapped" use="literal">

<parameter name="skynode.db" value="@DB@"/>

<parameter name="className"value="@serviceClass@"/>

...

soapgatewayskynode
SOAPGatewaySkyNode
  • AXIS Java オブジェクトから JAXB Java オブジェクトへの変換
    • AXIS SOAP エンジンは SOAP メッセージを受け取ると, メッセージの解析を行い XML から Java へのデータマッピングを行う。
    • ADQL-x  AXIS Java の SelectType オブジェクト
    • SkyNode 内部の実装は JAXB の SelectType オブジェクトを利用。(使いやすい、カスタマイズしやすい)。
    • 内部実装(JAXB)をインターフェイス(AXIS) から独立にすることで、AXIS のバージョンアップしやすい。
skynodeimpl
SkyNodeImpl
  • 実際に検索を行うためのロジックを呼び出す。

ResultSet performQuery(SelectSQL select) {

Connection conn =

connManager.getConnection(dbms, dbname, 10)

StatementForSkyNode st =

(StatementForSkyNode) conn.createStatement()

ResultSetForSkyNode rs = st.executeQuery(selectType)

VOTABLEType vot = DataFormmatter.getVOTable(rs)

return vot;

}

queryskynode
QuerySkyNode
  • ADQL を Backend DBMS が理解できる SQL に変換し検索を実行するクラス (abstract)。
  • これを継承した QuerySingle (検索テーブルひとつの場合), QueryMulti (クロスマッチ検索用) が実際に使われる。
  • etc/jvo.properties ファイルで指定できる。
region
Region 検索

t1

(2)

REGION(‘BOX 30 10 0.1’)

t3

t2

Select * from (select t2.id from t2, t3 where t2.htm between t3.low and t3.upp) t4 natural join t1

(1)

(1) Select “id” from t2 with t2.htm between t3.low and t3.upp

(2) Select records from t1 corresponding to the selected “id”

jvo properties
jvo.properties
  • prefix=/usr/local/skynode/
  • work.dir=work
  • tmp.dir=tmp
  • deploy.template=etc/deploy-template.wsdd
  • jdbc.driver.pgsql=org.postgresql.Driver
  • jdbc.url.pgsql=jdbc:postgresql://localhost:5432/
  • jdbc.user.pgsql=yshirasa
  • jdbc.passwd.pgsql=
  • metadata.db.name=metadb
  • dbms.metadb=pgsql
  • connection.max=10
  • query.class.default=jp.ac.nao.jvop3.controller.skynode.QueryMulti
  • logger.properties=etc/log4j.properties
struts config xml
struts-config.xml

<plug-in className="jp.ac.nao.jvop3.controller.skynode.PlugInForSkyNode">

<set-property property="jvoProperties"

value="/usr/local/skynode/etc/jvo.properties"/>

</plug-in>

web xml
web.xml

<servlet>

<servlet-name>AxisServlet</servlet-name>

<display-name>Apache-Axis Servlet</display-name>

<servlet-class>

org.apache.axis.transport.http.AxisServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

slide13
ディレクトリ構成
  • Skynode_dev
    • src ソースコード
    • lib ライブラリ (jar ファイル)
    • doc ドキュメント (instruction.txt)
    • etc コンフィギュレーションファイル
    • sample サンプルデータ、サンプルSQL等
    • war SkyNode service war file
    • build*.* コンパイル用のファイル
    • init-cshrc 初期設定スクリプト