Contenu connexe
Similaire à COBOL技術者のためのJava勉強会
Similaire à COBOL技術者のためのJava勉強会 (20)
COBOL技術者のためのJava勉強会
- 2. 「ホストもわかる」がアドバンテージ。
はじめに。
今まで慣れ親しんだCOBOLの開発環境。Javaになると何が
変わるのか?
Javaの文法はCOBOLに比べかなり簡素です。習得に時間は
かかりません。
あとはコーディングするだけ。見よう見まねでいい。
そもそも「ホストもわかる」がアドバンテージ。
Sunday, July 22, 12
- 3. TSO
Time Sharing Option
移動: 案内, 検索
Time Sharing Option(TSO, てぃーえすおー、たいむしぇありんぐおぷしょん)とは、MVS や OS/390 や z/OS のような IBM メインフレームコン
ピュータのオペレーティングシステムで使われる相互対話式のコマンドラインインタープリタである。
UNIX の Bourne Again Shell や Windows の cmd と同じ役割をする。TSO は、システム管理者やプログラマに使用される。
エミュレータ(例 pcomm)を使ってISPFとかTSOをたたく
Sunday, July 22, 12
- 4. Shell
シェル (shell) はオペレーティングシステム (OS) の機能の一部であり、ユーザーからの指示を受けて解釈し、プログラムの起動や制御などを行う
プログラムである。
シェルはUNIXで使用される呼称であり、より一般的にはコマンドインタプリタと呼ぶ。しかしUNIXの普及やMS-DOSなど他のOSでも使用された
ことにより現在では一般的な名称となっている。
エミュレータ(例 TeraTerm)を使ってShellをたたく
エミュレータ(例 pcomm)を使ってISPFとかTSOをたたく
Sunday, July 22, 12
- 5. MVSとUnix
MVS (えむぶいえす、英語: Multiple Virtual Storage、多重仮想記憶)は、1974年に発表されたIBMのメインフレーム用オペレーティングシステムの1つ。前
身はOS/360のMVTやOS/VS。当初の名称は「OS/VS2 R2」であったが、後に「OS/VS2 MVS」、更に「MVS」と呼ばれた。後継はOS/390とz/OSである。
オペレーティングシステム MVS のインターフェースは主に、バッチ処理のインターフェースである JCL (Job Control Language)と、対話式のコマンド・ライ
ン・インタープリタでタイムシェアリングシステムである TSO (Time Sharing Option)である。
→JCLはシェルスクリプト、TSOはシェル。(たぶん)
MVS 上で動く業務アプリケーション・プログラムは主にコボル(COBOL)で記述される。COBOLのプログラムは、伝統的に、IMS (Information Management
System) や CICS (Customer Information Control System) のようなトランザクション処理システムで使われる。CICS で動くプログラムには、COBOL プログ
ラムのソースコードに特別な EXEC CICS ステートメントが挿入される。プリプロセッサは、プログラムのコンパイルの前に、これらの EXEC CICS ステー
トメントを、CICS をコールする COBOL のコードに変換する。DB2をコールする SQL の場合と似ている。
→Unix上で動く業務アプリはJavaで記述されることが多い。(と思う)
→CICSはJTA(JavaTransactionAPI)、DB2コールはJDBC
MVSファイルシステム [編集]
ファイルは、MVS では「データ・セット」と呼ばれる。これらのファイルは「カタログ」によって組織・系統が立てられる。MVS の本来の文字コードは
ビッグ・エンディアン EBCDIC
→レコード形式(RECFM)、ブロックサイズ(BLKSIZE)、レコード長(LRECL)、アクセス方法(QSAM、
VSAM)とか物理装置のDASD、TAPEの概念はUnixには無い。RECFM=U・BLKSIZE=32760のデータ
セットがUnixのファイルに似ている。(かも)
Sunday, July 22, 12
- 6. 文字コード UTF-8はソートが逆!
→ABC・・・よりも123・・・が前です。
EBCDIC (英語: Extended Binary Coded Decimal Interchange Code、エビシディッ
ク、拡張二進化十進コード[1]) はIBMにより定義された8ビットのコード化文字セッ UTF-8は一文字3バイト!
トである[2]。ASCII普及前の1963年に、BCD(Binary-coded decimal、二進化十進
コード)を拡張する形で作られ、主にIBM系のメインフレームやオフィスコンピュー →半角カナ氏名(20文字)のエリアならCHAR(60)
タなどで使用されている[3][4][5]。 で設計します。
UTF-8(ユーティーエフはち、ユーティーエフエイト)はISO/IEC 10646(UCS)とUnicode
で使える8ビット符号単位の文字符号化形式及び文字符号化スキーム。
UTF-8による符号化では、漢字や仮名などの表現に3バイトを要する。このように、東ア
ジアの従来文字コードではマルチバイト符号を用いて1文字2バイトで表現されていた
データが、1.5倍かそれ以上のサイズとなる。
Sunday, July 22, 12
- 7. ソースの出し入れ
CA-LIBRARIAN SVN、CVS、Git
CA-PANVALET
Sunday, July 22, 12
- 8. ライブコーディング
✤ Eclipseってこんな感じ
✤ SVNにつないでみる。ソースを落としてみる。
✤ HelloWorldを実行してみる。
✤ プロパティファイルを読み込むコードを書いてみる。
✤ ステップ実行してみる。
✤ 作ったソースをコミットしてみる。
Sunday, July 22, 12
- 9. 自習に便利
基礎)COBOL技術者のためのJava言語入門
http://jp.fujitsu.com/solutions/sdas/technology/
java-cobol/
応用)Java技術によるWebアプリケーション開発入門
http://jp.fujitsu.com/solutions/sdas/technology/web-apl/
作ったプログラムの格納場所として自由に利用してください。
http://subversion.assembla.com/svn/jelt/
Sunday, July 22, 12
- 10. 統合開発環境(IDE)を使いこなす
・ctrl押しながら、メソッド名をクリック
・呼び出し階層を開く
・ファイル名で検索する(CTRL+Shift+r)
・中身の検索を使いこなす
Sunday, July 22, 12
- 11. 統合開発環境(IDE)を使いこなす
F5 ステップイン
F6 ステップオーバー
F7 ステップアウト
F8 次のブレイクポイントまで一気に進める
変数を見る色々な方法
Sunday, July 22, 12
- 12. 現場で使うフレームワーク
気になったら知ればいいけど、一応標準的。
・struts 画面(ブラウザ)と業務ロジックの橋渡し
・spring 業務ロジックのDI(Dependency Injection)
・ibatis SQLをXMLファイルに記述する。
<select id="getProduct"
parameterClass="java.lang.Long"
resultClass="com.example.Product">
select
PRD_ID as id,
PRD_DESCRIPTION as description
from
PRODUCT
where
PRD_ID = #value#
</select>
Sunday, July 22, 12
- 13. COBOLは静的。Javaは動的。
2. 基本的に静的な言語である
JavaやC#との最も大きな違いは、COBOLが徹底的にstaticな言語であることです。
基本的にはCOBOLプログラムは、main()メソッドとstaticなメンバーのみを持ってい
るJavaクラスみたいなものです。
プログラムのロード時にメモリ領域が静的に確保され、その上での演算を1つのプロセ
スに専念させることができます。
このような実行形態は大量のバッチ処理を高速に実行するのに有利です。
http://www.atmarkit.co.jp/fcoding/articles/cobol/01/cobol01b.html
Sunday, July 22, 12
- 14. 文法で解決するCOBOL。
ライブラリで解決するJava。
3. 言語機能が構文によって実現されている
COBOLは、非常に多くの機能を英語ライクな言語の文法でサポートしています。Javaや.NET言語では、コ
ンパイラが構文解析する文法の要素はCOBOLに比べて非常に少ないです。
言語としてのJavaやC#の基本文法は、パッケージやクラス、メソッドなどの宣言を行う基本的なプログラ
ムの枠組みに、ループや条件分岐などの制御構造を表す構文、それに若干の既定義データ型(基本型)、これ
がすべてです。にもかかわらずプログラマがシステム資源にアクセスするために豊富な手段を享受できるの
は、文法以外に用意された膨大なクラスライブラリがあるからです。
これに対して、COBOLは、時代の要求に応えるためにデータ処理に必要な機能を次々に言語に取り込んで
発展し続けてきました。例えば、COBOLにはファイルのソートを行うSORT文、文字列の連結を行う
STRING文などが文法としてサポートされています。
http://www.atmarkit.co.jp/fcoding/articles/cobol/01/cobol01b.html
Sunday, July 22, 12