参加
最後オンライン
最近の投稿
NWDIに投稿されました 続きを読む

NWDI(NetWeaver Development Infrastructure) は、 NetWeaverプラットフォームの上に動作するJavaベースのアプリケーションを開発するための基盤であり、アプリケーションのバージョン、構築、およびライフサイクルを管理する機能を備えています。

NWDI自体もNetWeaver Javaプラットフォームに稼働するものですので、NetWeaverインストール時に利用タイプDIを選択してインストールを行うことで、 NWDIに必要な機能がインストールされます。

NWDIは、システムの開発作業を一つのプラットフォームに統合することにより、集中管理が可能になります。

NWDIでは以下の作業がすべて集中管理できるようになっております。

  • ソースプログラムの集中管理化⇒DTR
  • 構築配置作業の集中管理化⇒CBS
  • 変更管理移送作業の集中管理化⇒CMS

アーキテクチャ

(source: sap help portal)

機能構成

上記のアーキテクチャ図で示したとおり、NWDIを構成する要素は、NWDS、DTR、CBS、CMSがあります。

  • NWDS
    NWDSにおけるJavaアプリケーションの開発は、ソフトウェアコンポーネントモデルを基準としております。従ってソフトウェアプロジェクトが、開始時から管理しやすい再利用可能な単位に体系的に構造化されます。
  • DTR
    DTRでは、バージョンニングソースコードを管理できるため、チームにおけるソフトウェアの分散開発、及びソースの移送と複製が可能です。
  • CBS
    CBSは、ソースコードのセントラルビルドに使用されます。開発者の操作はNWDSに統合されます。CBSはビルドプロセスのために自動的にDTSと通信います。
  • CMS
    CMSは、JAVA開発ランドスケープ、及びソフトウェアライフサイクル全体に渡る移送を集中管理するため、に使用します。CMSの機能は、DTR、CBS及びSLDに緊密に統合されています。

NWDIは開発者と管理者のためにそれぞれロールを用意しています。

  • 管理者ロール 
    NWDI.Administrator
  • 開発者ロール 
    NWDI.Developer
AsJavaに投稿されました 続きを読む

概要

SLD(System Landscape Directory,システムランドスケープディレクトリ) は、システム間連携を行うシステムの情報を一元管理するためのもので、システムの技術情報(サーバ名など)やソフトウェアカタログ情報(利用ソフトウェア製品、リリースなど)を保持しています。

SLD はシステムランドスケープにインストールされているすべてのシステムコンポーネントの集中情報プロバイダとして機能します。

SLDサーバはすべての SAP Web Application Server Java のインストールにおいてインストールされますが、機能させる場合には明示的に有効化される必要があります。

形態

SLD は、HTTPでアクセスできるサーバアプリケーションであり、AsJava上で動作します。

連携

SLDに登録されているシステムは、デフォルトで12時間毎に自システムの情報をSLDに送信するようにしています。

機能

以下の機能をもっております。

  • サーバ情報管理
  • ソフトウェア情報管理
  • 名前予約管理

ツール

SLDの管理機能をアクセスするには、以下の方法があります。

ホーム

製品とソフトウェアコンポーネント


システムとサーバ

AsJavaに投稿されました 続きを読む

サービス提供側とサービス消費側を分けてそれぞれ説明します。

サービス提供側

サービスやサービスグループを定義します。

システム

分類

サービス

サービスグループ

サービス消費側

システムプロバイダ定義

サービスを提供するプロバイダーシステムのサーバ情報を定義します。































































ネットワークとインターネットに投稿されました 続きを読む

このトピックでは、標準技術としてのWebサービスの基礎知識を取り上げて説明します。

Webサービスには広義と狭義の二つがあります。

広義の「Webサービス」は、WEB通信を利用した、プログラミングでアクセス可能なサービスのすべてが含められます。
一方、狭義の「Webサービス」は、SOAP(Simple Object Access Protocol)やWSDL(Web Services Description Language)ベースのWebサービスに限定されます。SOAP/WSDLサービスと呼ぶことができます。
Webサービスという名前も、このSOAP/WSDLサービスから初めて使われたものと考えられます。

WEBサービス(広義)を実現する基礎技術としては、古典的な技術を代表するこのSOAPとWSDLのほかに,昨今急速に普及してきたREST(Representational State Transfer)があります。RESTベースのWEBサービスはRESTfulサービスと呼ばれております。
http://www.ibm.com/developerworks/jp/webservices/library/ws-restful/

高機能で複雑のSOAP/WSDLサービスと比べると、RESTfulサービスはシンプルで簡単に利用可能であるため、現在、後者のほうがWeb全体で広く受け入れられるようになっています。
とはいえ、歴史のこともあるため、とくに企業向けの大規模なシステムは、まだまだSOAP/WSDLサービス技術で構築されているほうが多いと考えられます。

このトピックやカテゴリは、狭義の「Webサービス」のみを対象としているため、特別な説明がない限り、文書に記述されている「Webサービス」という用語はすべて狭義の「Webサービス」を指しております。

Webサービスは、主に以下のような特徴があります。

  • プラットフォーム独立 
    HTTP、SMTP、XML等の標準仕様を積極的に活用しているため、Webサービスの実装は特定のプラットフォームや言語に依存しません。 
    異なるプラットフォームで実装されているWebサービスは標準仕様に従って簡単に相互接続ができます。
  • 実行時に動的に連携
    WEBサービスは実行時に動的に連結されます。よってサービス指向アーキテクチャ(SOA)に従えば柔軟性、敏捷性(agile)とも優れる疎結合分散アプリケーション環境が簡易に実現できます。

WEBサービス連携の流れは以次の三つの部分からなります。

  1. 登録
    サービスを提供する側は、サービスの接続情報をどこかに登録しておきます。
  2. 接続情報の検索 
    サービスを使用する側は、サービスを利用するための接続情報をどこかで検索します。開発時と実行時の二つの場面があります。
  3. 接続
    サービスを使用する側は、サービス接続情報を利用して、サービスを提供する側に接続して、サービスを利用します。

WEBサービスの関連仕様は以下のものがあります。

  • SOAP
    メッセージフォーマットに関する仕様
  • WSDL
    サービス界面仕様の記述フォーマットに関する仕様
  • UDDI
    サービス連携をサポートするディレクトリに関する仕様および実装
  • WSIL
    UDDI の代替であり、また UDDI に対する補足でもあるサービス・ディスカバリー機構

SOAP

SOAP(Simple Object Access Protocol)とは、非集中、分散環境における情報交換のための軽量のプロトコルです。SOAPのメッセージはXMLを用いて符号化します。
SOAPは次の3つの部分から成ります。

  • SOAPエンベロープ構成要素
    何がメッセージの中にあるのか、誰がそれを処理すべきなのか、それは選択可能か必須かどちらなのかといったことを表現するための全体の枠組みを定義しています。
  • SOAP符号化(encoding)規則
    アプリケーションが定義したデータ型のインスタンスをやりとりするための直列化(serialization)のメカニズムを定義しています。
  • SOAP RPC表現
    RPCとそのレスポンスを表現するための規約を定義しています。

WSDL

WSDL(Web Services Description Language)とは、Webサービスを記述するための、XMLをベースとした言語仕様です
WSDLサービス定義仕様で用いられる概念は以下のものがあります。

  • サービス(service)
  • ポート(port)
  • バインディング(binding)
  • ポートタイプ(portType)
  • 操作(operation)
  • メッセージ(mssage)
  • タイプ(types)

UDDI

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

インターネット上で一般に公開するパブリックUDDIと、企業のイントラネット内などの閉じたネットワーク上で使用するプライベートUDDIに分類されます。

WSIL

WSIL(Web Service Inspection Language)とは、大掛かりなUDDI検索と手軽なWSDL交換の中間で、簡便で使いやすく、かつ、拡張可能なネットワーク上でのサービス検索の手段を提供するものです。

WSILは、直接、Webサービスを記述するのではなく、Webサービスを記述したWSDLへの参照や、Webサービスを登録したUDDIへの参照を記述したXMLドキュメントです。いわば、WSDLやUDDIを経由すれば、利用可能なWebサービスの一覧表を提供しようという試みです。

J2EEに投稿されました 続きを読む

このトピックでは、JavaEEの概要を取り上げて説明します。

Java EEとは、Java言語の機能セットの一つで、サーバや企業の情報システム、大規模システムなど向けの機能をまとめたもの。J2EEはバージョン5.0までの旧称で、以降はJava EEと呼ばれる。

  • JavaSE
  • JavaME
  • JavaEE

Java EEにはJava SEの機能がすべて含まれるほか、サーバなどで利用されるEJB(Enterprise JavaBeans)やサーブレット(Java Servlet)、JSP(Java Server Pages)、JSF(Java Server Faces)、JNDI(Java Naming and Directory Interface)、JTA(Java Transaction API)など数多くの機能が規定されている。

JavaEEが初めて登場したのは1999年のことです。当時は「Java 2 Platform, Enterprise Edition(J2EE)」と呼ばれており、最初のバージョンは1.2でした。

JavaEEの最新バージョンは、2013年6月にリリースされたJava EE 7です。また現在、世界中の企業システムで広く利用されているのは、2009年12月にリリースされたJavaEE6です。

JavaEE仕様を準拠したサーバ製品はおもに以下のようなものがあります。

No.製品最新バージョン(2015)ベンダー
1Tomcat-オープンソース
2Jetty-オープンソース
3Weblogic-Oracle
4JBoss-オープンソース
5Websphere-IBM

JavaEEアプリケーションは,複数の,EJB-JAR,Webアプリケーション,ライブラリJARと,一つのDD(application.xml)で構成されます。
JavaEEサーバで実行できるJavaEEアプリケーションは,アーカイブ形式のJavaEEアプリケーション,および展開ディレクトリ形式のJavaEEアプリケーションです。

  • EJB-JAR
    EJB-JARは,EJB-JARファイル形式でパッケージ化されています。複数のEnterprise Beanと一つのDD(ejb-jar.xml)で構成されます。なお,Enterprise Beanでアノテーションを使用している場合は,DD(ejb-jar.xml)は不要です。
  • Webアプリケーション
    Webアプリケーションは,WARファイル形式でパッケージ化されています。複数のサーブレット,JSP,HTMLと一つのDD(web.xml)で構成されます。
  • ライブラリJAR
    ライブラリJARは,JARファイル形式でパッケージ化されたものです。複数の共通ライブラリから構成されています。共通ライブラリはJ2EEアプリケーション中のJ2EEコンポーネントが共通で使用できるライブラリです。JavaEEアプリケーションのDD(application.xml)の<module>タグ以下に定義されているファイル以外で,拡張子が小文字(.jar)のJARファイルがライブラリJARとみなされます。
J2EEに投稿されました 続きを読む

JavaEE6

下記のリンクをご参考ください。

http://codezine.jp/article/detail/5698

JavaEE5

JavaEE5は以下の仕様から構成されます。

  • Web Services Technologies
  • Implementing Enterprise Web Services (JSR 109)
  • Java API for XML-Based Web Services (JAX-WS) 2.0 (JSR 224)
  • Java API for XML-Based RPC (JAX-RPC) 1.1 (JSR 101)
  • Java Architecture for XML Binding (JAXB) 2.0 (JSR 222)
  • SOAP with Attachments API for Java (SAAJ) (JSR 67)
  • Streaming API for XML (JSR 173)
  • Web Service Metadata for the Java Platform (JSR 181)
  • Web Application Technologies
  • Java Servlet 2.5 (JSR 154)
  • JavaServer Faces 1.2 (JSR 252)
  • JavaServer Pages 2.1 (JSR 245)
  • JavaServer Pages Standard Tag Library (JSR 52)
  • Enterprise Application Technologies
  • Enterprise JavaBeans 3.0 (JSR 220)
  • J2EE Connector Architecture 1.5 (JSR 112)
  • Common Annotations for the Java Platform (JSR 250)
  • Java Message Service API (JSR 914)
  • Java Persistence API (JSR 220)
  • Java Transaction API (JTA) (JSR 907)
  • JavaBeans Activation Framework (JAF) 1.1 (JSR 925)
  • JavaMail (JSR 919)
  • Management and Security Technologies
  • J2EE Application Deployment (JSR 88)
  • J2EE Management (JSR 77)
  • Java Authorization Contract for Containers (JSR 115)

J2EE 1.4

J2EE 1.4は以下の仕様から構成されます。

  • J2EE Connector Specification 1.5
  • J2EE Deployment API Specification 1.1
  • J2EE Management Specification 1.0
  • Enterprise JavaBeans Specification 2.1
  • Enterprise JavaBeans to CORBA Mapping 1.1
  • Java API for XML Processing Specification 1.2
  • Java API for XML Registries Specification 1.0
  • Java API for XML-based RPC Specification 1.1
  • Java Authorization Contract for Containers 1.0
  • Java IDL API
  • Java Naming and Directory Interface Specification 1.2.1
  • Java Message Service Specification 1.1
  • Java Servlet Specification 2.4
  • Java Transaction API Specification 1.0.1B
  • Java Transaction Service Specification 1.0
  • JDBC Specifications, 3.0, 2.1, and Optional Package API (2.0)
  • JavaBeans Activation Framework Specification 1.0.2
  • JavaMail API Specification 1.3
  • JavaServer Pages Specification 2.0
  • RMI over IIOP
  • SOAP with Attachments API for Java Specification 1.2

J2EE 1.3

J2EE 1.3は以下の仕様から構成されます。

  • JDBC Extension 2.0
  • Java Naming and Directory Interface Specification (JNDI) 1.2
  • Java API for XML Processing (JAXP) 1.1
  • Java Servlet 2.3
  • JavaServer Pages (JSP) 1.2
  • JavaServer Pages Standard Tag Library (JSTL) 1.0
  • Enterprise JavaBeans (EJB) 2.0
  • J2EE Connector Architecture 1.0
  • Java Message Service API (JMS) 1.0
  • Java Transaction API (JTA) 1.0
  • JavaMail API 1.2
  • JavaBeans Activation Framework (JAF) 1.0
  • Java Authentication and Authorization Service (JAAS) 1.0

 

JavaVMに投稿されました 続きを読む

このトピックでは、JavaVMのメモリ管理の仕組を取り上げて説明します。


JavaVMのメモリ構成はかきにようになります。

  • OS固有領域
    • Cヒープ領域
      JavaVM自身が使用する領域です。JNIで呼び出されたネイティブライブラリでも使用されます。
    • スタック領域
      Javaスレッド毎に保持するスタックの領域です。
  • JavaVM固有領域
    • Permanent領域
      ロードされたclassなどの情報が格納される領域です。
    • Javaヒープ
      JavaVM上で起動するJavaプログラムのリソースを管理する領域。New領域
      • New領域
        新規オブジェクトと閾値(-XX:MaxTenuringThreshold)未満のオブジェクトが配置されます、Young領域とも呼ばれるます。
        • Eden領域
          新規のオブジェクトが配置されます。
        • From領域
          CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされます。
        • To領域
          CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされます。
      • Old領域
        New領域で閾値(-XX:MaxTenuringThreshold)を超えたオブジェクトが配置されます、Tenured領域とも呼ばれるます。

種類

Javaでは、「Scavenge GC」と「Full GC」という2種類のガベージ・コレクションが実行されます。Scavenge GCはNEW領域のみを対象とした短時間で終了するガベージ・コレクションであり、頻繁に実施されます。一方、Full GCはNEWとOLD両方の領域を対象とした大がかりなガベージ・コレクションであり、比較的低い頻度で実施されます。

タイミング

以下のタイミングでGCが実施されます。

  • ヒープメモリ中に新規オブジェクトを作成するために必要な空き領域が足りなくなったとき
  • プログラム中でSystem.gc()が実行されたとき
  • JavaVMで実行する処理がなくなってアイドル状態になったとき

下記オプションで定期的なGCを設定することができます。

  • -Dsun.rmi.dgc.server.gcInterval
    JDK6デフォルト3600000(1時間))
  • -Dsun.rmi.dgc.client.gcInterval
    JDK6デフォルト3600000(1時間))

メモリを割り当てる必要があるが、割り当てられるメモリが存在しないとき、OutOfMemoryErrorが発生します
例として、OutOfMemoryErrorが発生するケースを取り上げます。

  • New領域が溢れた場合
  • Old領域が溢れた場合
  • 参照されつづけるオブジェクトが大量に存在する場合に溢れる。
  • Cヒープが溢れた場合
    Javaのスレッドが大量に作成された場合に溢れます、Cヒープが溢れてOutOfMemorryErrorが発生した場合、スタックトレースの先頭が「Native Method」です。
    スレッド数はOSのパラメタで設定されており、それが大きな値で設定されている場合に発生します。

ソフトウェア開発に投稿されました 続きを読む

ソフトウェアの品質特性は大きく6つに分類され、それぞれの英語の頭文字をとってFRUEMP特性とも呼ばれています。

機能性

機能性とは、必要な機能を満たしているかということです

信頼性

信頼性とは、指定された条件の下で正しく動くかということです。

使用性

使用性とは、使いやすさを表します。

効率性

率性とは、スピードとサイズに関する性能です。

保守性

保守性とは、修正のしやすさです。

移植性

移植性とは、実行する環境の移行のしやすさを表します。