SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
COBOL技術者のためのJava勉強会
      場所:中部オフィス 大会議室

    開催日:2012年7月26日(木) 拠点会議の後∼1時間程度


Sunday, July 22, 12
「ホストもわかる」がアドバンテージ。

         はじめに。

         今まで慣れ親しんだCOBOLの開発環境。Javaになると何が
         変わるのか?

         Javaの文法はCOBOLに比べかなり簡素です。習得に時間は
         かかりません。

         あとはコーディングするだけ。見よう見まねでいい。
         そもそも「ホストもわかる」がアドバンテージ。

Sunday, July 22, 12
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
Shell
              シェル (shell) はオペレーティングシステム (OS) の機能の一部であり、ユーザーからの指示を受けて解釈し、プログラムの起動や制御などを行う
              プログラムである。
              シェルはUNIXで使用される呼称であり、より一般的にはコマンドインタプリタと呼ぶ。しかしUNIXの普及やMS-DOSなど他のOSでも使用された
              ことにより現在では一般的な名称となっている。

                       エミュレータ(例 TeraTerm)を使ってShellをたたく




                                                                 エミュレータ(例 pcomm)を使ってISPFとかTSOをたたく




Sunday, July 22, 12
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
文字コード                                                                 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
ソースの出し入れ
                      CA-LIBRARIAN   SVN、CVS、Git
                      CA-PANVALET




Sunday, July 22, 12
ライブコーディング
    ✤    Eclipseってこんな感じ
    ✤    SVNにつないでみる。ソースを落としてみる。
    ✤    HelloWorldを実行してみる。
    ✤    プロパティファイルを読み込むコードを書いてみる。
    ✤    ステップ実行してみる。
    ✤    作ったソースをコミットしてみる。




Sunday, July 22, 12
自習に便利
            基礎)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
統合開発環境(IDE)を使いこなす
         ・ctrl押しながら、メソッド名をクリック

         ・呼び出し階層を開く

         ・ファイル名で検索する(CTRL+Shift+r)

         ・中身の検索を使いこなす




Sunday, July 22, 12
統合開発環境(IDE)を使いこなす
         F5 ステップイン

         F6 ステップオーバー

         F7 ステップアウト

         F8 次のブレイクポイントまで一気に進める

         変数を見る色々な方法




Sunday, July 22, 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
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
文法で解決する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
おわり。




Sunday, July 22, 12

Contenu connexe

Tendances

Aquatic mammals and their adaptation, General Feathers of Aquatic mammals
Aquatic mammals and their adaptation, General Feathers of Aquatic mammalsAquatic mammals and their adaptation, General Feathers of Aquatic mammals
Aquatic mammals and their adaptation, General Feathers of Aquatic mammalsSoniaBajaj10
 
Aquatic adaptations of mammals
Aquatic adaptations of mammalsAquatic adaptations of mammals
Aquatic adaptations of mammalsGauri Haval
 
Evolution of mammals by Łukasz O
Evolution of mammals by Łukasz OEvolution of mammals by Łukasz O
Evolution of mammals by Łukasz OArtur Baranowski
 
Fish(PISCES) general characters
Fish(PISCES) general charactersFish(PISCES) general characters
Fish(PISCES) general charactersRavitejag15
 
Mode Of Food & Feeding In Porifera.ppt
Mode Of Food & Feeding In Porifera.pptMode Of Food & Feeding In Porifera.ppt
Mode Of Food & Feeding In Porifera.pptDinesh Parihar
 
Respiratory system of crustacea
Respiratory system of crustaceaRespiratory system of crustacea
Respiratory system of crustaceaAvijit Pramanik
 
Phylum chordata - zoology
Phylum chordata -  zoologyPhylum chordata -  zoology
Phylum chordata - zoologySijo A
 
Fossil birds lecture in paleontology
Fossil birds lecture in paleontologyFossil birds lecture in paleontology
Fossil birds lecture in paleontologyThomas Chinnappan
 
Poison appertus and biting mechanism in snakes
Poison appertus and biting mechanism in snakesPoison appertus and biting mechanism in snakes
Poison appertus and biting mechanism in snakesUJJWALKUMARMAHATO1
 
Introduction to chordates for msc zoology
Introduction to chordates for msc zoologyIntroduction to chordates for msc zoology
Introduction to chordates for msc zoologyscience college udaipur
 
Amphibian history notes
Amphibian history notesAmphibian history notes
Amphibian history notesericchapman81
 
Parental care in fishes, several fishes showing parental care,different types...
Parental care in fishes, several fishes showing parental care,different types...Parental care in fishes, several fishes showing parental care,different types...
Parental care in fishes, several fishes showing parental care,different types...Anand P P
 
Alternation of generation in cnideria
Alternation  of    generation in    cnideriaAlternation  of    generation in    cnideria
Alternation of generation in cnideriamariamyounas2
 

Tendances (20)

Fish morphology - fish fins
Fish morphology -  fish finsFish morphology -  fish fins
Fish morphology - fish fins
 
Aquatic mammals and their adaptation, General Feathers of Aquatic mammals
Aquatic mammals and their adaptation, General Feathers of Aquatic mammalsAquatic mammals and their adaptation, General Feathers of Aquatic mammals
Aquatic mammals and their adaptation, General Feathers of Aquatic mammals
 
Aquatic adaptations of mammals
Aquatic adaptations of mammalsAquatic adaptations of mammals
Aquatic adaptations of mammals
 
Phylum Protozoa
Phylum ProtozoaPhylum Protozoa
Phylum Protozoa
 
Evolution of mammals by Łukasz O
Evolution of mammals by Łukasz OEvolution of mammals by Łukasz O
Evolution of mammals by Łukasz O
 
Corals
CoralsCorals
Corals
 
Fish(PISCES) general characters
Fish(PISCES) general charactersFish(PISCES) general characters
Fish(PISCES) general characters
 
Mode Of Food & Feeding In Porifera.ppt
Mode Of Food & Feeding In Porifera.pptMode Of Food & Feeding In Porifera.ppt
Mode Of Food & Feeding In Porifera.ppt
 
Respiratory system of crustacea
Respiratory system of crustaceaRespiratory system of crustacea
Respiratory system of crustacea
 
Phylum chordata - zoology
Phylum chordata -  zoologyPhylum chordata -  zoology
Phylum chordata - zoology
 
Fossil birds lecture in paleontology
Fossil birds lecture in paleontologyFossil birds lecture in paleontology
Fossil birds lecture in paleontology
 
Inteugmentary system of fishes
Inteugmentary system of fishesInteugmentary system of fishes
Inteugmentary system of fishes
 
Poison appertus and biting mechanism in snakes
Poison appertus and biting mechanism in snakesPoison appertus and biting mechanism in snakes
Poison appertus and biting mechanism in snakes
 
Introduction to chordates for msc zoology
Introduction to chordates for msc zoologyIntroduction to chordates for msc zoology
Introduction to chordates for msc zoology
 
Phylum mollusca
Phylum molluscaPhylum mollusca
Phylum mollusca
 
Amphibian history notes
Amphibian history notesAmphibian history notes
Amphibian history notes
 
Torsion in gastropoda
Torsion in gastropodaTorsion in gastropoda
Torsion in gastropoda
 
Comparative study of vertebrates
Comparative  study of vertebratesComparative  study of vertebrates
Comparative study of vertebrates
 
Parental care in fishes, several fishes showing parental care,different types...
Parental care in fishes, several fishes showing parental care,different types...Parental care in fishes, several fishes showing parental care,different types...
Parental care in fishes, several fishes showing parental care,different types...
 
Alternation of generation in cnideria
Alternation  of    generation in    cnideriaAlternation  of    generation in    cnideria
Alternation of generation in cnideria
 

En vedette

没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト伸男 伊藤
 
悩める金融系SEの軌跡
悩める金融系SEの軌跡悩める金融系SEの軌跡
悩める金融系SEの軌跡Fumiyasu Sumiya
 
20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へSEED310
 
はじめてのソフトウェアテスト
はじめてのソフトウェアテストはじめてのソフトウェアテスト
はじめてのソフトウェアテストRina Fukuda
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!道化師 堂華
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストYu Nobuoka
 
COBOL技術者のためのjava勉強会2
COBOL技術者のためのjava勉強会2COBOL技術者のためのjava勉強会2
COBOL技術者のためのjava勉強会2naka hide
 
Web Strategy - Outreach Commission
Web Strategy - Outreach CommissionWeb Strategy - Outreach Commission
Web Strategy - Outreach CommissionSt. Lukes UMC
 
Ringkasan Eksekutif PISA2000
Ringkasan Eksekutif PISA2000 Ringkasan Eksekutif PISA2000
Ringkasan Eksekutif PISA2000 Iwan Pranoto
 
Kalkulus 2A – minggu 6A
Kalkulus 2A – minggu 6AKalkulus 2A – minggu 6A
Kalkulus 2A – minggu 6AIwan Pranoto
 
Homeschool magazine newest issue
Homeschool magazine newest issueHomeschool magazine newest issue
Homeschool magazine newest issueHomeschool Newslink
 
Matek 1 - Minggu 5
Matek 1 - Minggu 5Matek 1 - Minggu 5
Matek 1 - Minggu 5Iwan Pranoto
 
Consumer empowerment and customer service in Ireland
Consumer empowerment and customer service in IrelandConsumer empowerment and customer service in Ireland
Consumer empowerment and customer service in IrelandNational Consumer Agency
 
Guru bergairah dan berpengetahuan
Guru bergairah dan berpengetahuanGuru bergairah dan berpengetahuan
Guru bergairah dan berpengetahuanIwan Pranoto
 
Menyemai kasmaran bersains di acara diskusi oleh Tempo-Kalbe
Menyemai kasmaran bersains di acara diskusi oleh Tempo-KalbeMenyemai kasmaran bersains di acara diskusi oleh Tempo-Kalbe
Menyemai kasmaran bersains di acara diskusi oleh Tempo-KalbeIwan Pranoto
 

En vedette (20)

没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト
 
悩める金融系SEの軌跡
悩める金融系SEの軌跡悩める金融系SEの軌跡
悩める金融系SEの軌跡
 
20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ
 
はじめてのソフトウェアテスト
はじめてのソフトウェアテストはじめてのソフトウェアテスト
はじめてのソフトウェアテスト
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
 
COBOL技術者のためのjava勉強会2
COBOL技術者のためのjava勉強会2COBOL技術者のためのjava勉強会2
COBOL技術者のためのjava勉強会2
 
Web Strategy - Outreach Commission
Web Strategy - Outreach CommissionWeb Strategy - Outreach Commission
Web Strategy - Outreach Commission
 
NCA Back to School Market Research 2011
NCA Back to School Market Research 2011NCA Back to School Market Research 2011
NCA Back to School Market Research 2011
 
Ringkasan Eksekutif PISA2000
Ringkasan Eksekutif PISA2000 Ringkasan Eksekutif PISA2000
Ringkasan Eksekutif PISA2000
 
Kalkulus 2A – minggu 6A
Kalkulus 2A – minggu 6AKalkulus 2A – minggu 6A
Kalkulus 2A – minggu 6A
 
Matek 1 minggu 3
Matek 1   minggu 3Matek 1   minggu 3
Matek 1 minggu 3
 
Homeschool magazine newest issue
Homeschool magazine newest issueHomeschool magazine newest issue
Homeschool magazine newest issue
 
Matek 1 - Minggu 5
Matek 1 - Minggu 5Matek 1 - Minggu 5
Matek 1 - Minggu 5
 
Week 3
Week 3Week 3
Week 3
 
Matek 1 minggu 12
Matek 1   minggu 12Matek 1   minggu 12
Matek 1 minggu 12
 
Consumer empowerment and customer service in Ireland
Consumer empowerment and customer service in IrelandConsumer empowerment and customer service in Ireland
Consumer empowerment and customer service in Ireland
 
Guru bergairah dan berpengetahuan
Guru bergairah dan berpengetahuanGuru bergairah dan berpengetahuan
Guru bergairah dan berpengetahuan
 
Menyemai kasmaran bersains di acara diskusi oleh Tempo-Kalbe
Menyemai kasmaran bersains di acara diskusi oleh Tempo-KalbeMenyemai kasmaran bersains di acara diskusi oleh Tempo-Kalbe
Menyemai kasmaran bersains di acara diskusi oleh Tempo-Kalbe
 
Week 2
Week 2Week 2
Week 2
 

Similaire à COBOL技術者のためのJava勉強会

ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成弘毅 露崎
 
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料OSSラボ株式会社
 
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようAkira Shimosako
 
RoR周辺知識15項目
RoR周辺知識15項目RoR周辺知識15項目
RoR周辺知識15項目saiwaki
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナーKazuko Itoda
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれMasataka MIZUNO
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Nextdynamis
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Hiro Yoshioka
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returnsdynamis
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireAkio Katayama
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 

Similaire à COBOL技術者のためのJava勉強会 (20)

ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
 
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
 
RoR周辺知識15項目
RoR周辺知識15項目RoR周辺知識15項目
RoR周辺知識15項目
 
20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
141030ceph
141030ceph141030ceph
141030ceph
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Next
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returns
 
Debian emdebian 20100817
Debian emdebian 20100817Debian emdebian 20100817
Debian emdebian 20100817
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 

COBOL技術者のためのJava勉強会

  • 1. COBOL技術者のためのJava勉強会 場所:中部オフィス 大会議室 開催日:2012年7月26日(木) 拠点会議の後∼1時間程度 Sunday, July 22, 12
  • 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