MS SQL Server、各種DB用のXEAD Skeleton

XEAD Driverが、MS SQL Serverに対応した。

skeletonをMS SQLに移植し、動作確認したので参考にしてください。

MS SQL Server 2012 Expressをインストールしてください。



1.skeletonデータベースを作成する。
2.CreateMsSQL.sqlを実行し、テーブルを作成する
3.Primarykey.sqlを実行し、主キーを作成する。
4.InsDefault.sqlを実行し、システムデータを登録する。
skeletonデータベースの用意ができました。

XEAD Driverがインストールされていなければ、インストールする。
http://homepage2.nifty.com/dbc/xeadDriverDownload.html
動作確認したバージョンは
2014.05.19版 <XEAD Driver V1R2M0><XEAD Editor V1R2M0>

これより前のバージョンでは、MS SQL Serverには対応していないので、
最新版に、バージョンアップしてください。

5.mssqlSkeleton.xeafを開く

6.接続文字列を設定する。
 例では、jdbc:sqlserver://10.10.223.201\SQLEXPRESS;databaseName=skeleton;

7.IDとPWを設定する。
 例では、ユーザ:xead、パスワード:xead
8.XEAD Editorでレコードを確認する。

9.XEAD Driverを起動する。


注意事項
サンプルxeafの接続文字列は、ローカルホスト接続となっています。
データベースサーバへ外部から接続する場合は、IPアドレスの変更が必要になります。
また、ファイヤーウォールを設定したり、データベースへの接続権限を付与する必要があります。
利用するデータベース毎に特有の設定が必要な場合があります。
初めての検証には、1台のPCでサーバー・クライアントを兼ねた構成がお勧めです。

その他のデータベース用のCreateXyz.sql文と接続文字列を設定済みのXyzSkeleton.xeafを
用意しましたので参考にしてください。

ID、PWはデータベースインストール時の状況に合わせて修正してください。


資料の置き場所は、GitHubのこちらです。
https://github.com/kurokouji/xskeleton201405

ソフトウェアという社会資本(世界資本)

映画や音楽など著作権がある。
ソフトウェアも同じだ。

今回のXPサポート終了問題であるが、余りにも社会的な影響が大きいこと。
従来のライセンスビジネスが限界に来たことを感じます。

MS社は一貫してライセンスビジネスを拡大してきた。
フリーソフト・無償で利用できるソフトウェアが普及し、自己責任による選択肢が用意される時代になった。

社会的に影響がある企業が、サポートを終了する場合は、
バージョンアップを強制するより、然るべき期間の余裕を持って
オープンソースにする位の責任感があるといいと思う。

4月9日に、日本国内で利用されているPCの1割、XPが残ると予想されている。
http://japan.zdnet.com/cio/sp_13matsuokaopinion/35044036/

いま、PCが水や空気のようななライフラインなっている状況で、ライフラインをいきなり10%止めることを強制することが許されるのだろうか。

4月9日、日本的にはごろの悪すぎる数字ですね。

IT勉強宴会in名古屋 「ジェネレーティブ・プログラミングの世界」ご案内

業務システムを効率的に構築しよう!

表計算とデータベースと帳簿組織

★表計算
事務作業や様々な書類作成に表計算が利用されるようになってきた。
エ○セルメタボというキーワードまでが生まれてきた。

集合住宅の郵便ポストのようなマトリックスに、文字や数値、計算式を登録し、
埋め込んだ計算式を正確に高速に演算する。

直感的に利用できるので普及した。

特に制約がないので、だれにでも使いやすい。
子供が書いた絵のように自由奔放な作品である。

表計算を利用する上で問題になるのは、再利用が困難なこと。

便利さに甘え、検算を怠りがちで、
とんでもない書類を提出する危険性をはらんでいる。


★データベース
マスタデータや、伝票データ等の情報を一元管理するため
データベースを利用して、システムの構築を試みる。

データベースは2次元表の組み合わせで、情報を効率的に利用しようとする仕掛けである。
表計算のように制約なしに利用すると、同じく再利用が困難になるので、
再利用を見越した制約を検討する必要がある。
データベース単独では利用できない。
プログラムと組わせ、システムとして構築する能力が必要である。


★帳簿組織
パソコンが販売・仕入・在庫管理、給料計算、会計処理などの企業事務に利用されるようになって
画面からのインプット、帳票への出力の使い勝手の良さなど、端末操作の便利さだけが重要視されるようになってきた。


家計簿では収入と消費に費やした金額を、食費、教育費、水道光熱費、交際費などに区分して実績を記録する。

企業、事業の目的は様々だが、家計と大きく異るのは利益の計算が必要なことである。
利益の計算が必要な大きな理由は、適正な納税のため決算が義務付けられていることである。

帳簿組織という言葉は、簿記の基本用語であり、決算書(貸借対照表損益計算書)を作成するための
記録体系で、どのような企業でも基本は同じであり、パソコン普及以前からの記録方法である。
電卓、算盤、暗算で人が計算し記録してきた。

パソコンは、電卓や算盤に変わり計算を実行することが主たる目的で、記録体系は全く変化はない。

帳簿組織を知らずの業務ソフト開発は必ず壁にぶつかります。

帳簿組織を理解するには、日商簿記3級のテキストをお奨めします。

実際に、電卓を使って限られた時間の中で、問題を解く実力を付ける必要があります。
帳簿組織は、頭で理解するものでは無く技能として身に付けるものだと思います。
この実力をもとに、プログラミングをできるなら無意味な時間を費やさずに済むでしょう。

2014-02-15(土)13:30より、第29回,関西IT勉強宴会
IT勉強宴会in名古屋 「ジェネレーティブ・プログラミングの世界」が開催されます。

タイトルが難しすぎていけませんね、
データベースを利用した業務システムを、効率的に作るための手法紹介です。

企業活動を記録する帳簿組織を意識して、手法は異なりますが、目指しているところは同じです。

先人の「再利用や効率化するための知恵」を目の当たりに出来る絶好の機会です。

中部地区のみなさん奮ってご参加ください。

http://atnd.org/events/47150

salesforce学習法、これだけ見れば良い

Salesforce開発の学習は日本語情報が少なく、新旧様々な情報が錯綜している。
やっと、良い資料に辿りついた。

1.こんなことやりたいといった、整理されたページが少ない。
ページ、コントローラ、実行画面が例示されている。ノウハウをまとめる手本になります。
Force.com : 任意のチェックボックスを作成したい[Visualforceタグ]
http://vaindespair.blogspot.jp/2011/04/blog-post_8668.html
20140116

2.Salesforce開発のきちんとまとめられた資料
http://blogjp.sforce.com/2012/05/visualforce-api-ba46.html

最新バージョンの日本語マニュアル(直リンク)
http://developerforcejp.s3.amazonaws.com/developer/docs/pages/salesforce_pages_developers_guide.pdf

メタデータAPI開発者ガイド日本語版PDF(直リンク)
http://developerforcejp.s3.amazonaws.com/developer/docs/api_meta/api_meta.pdf


ページの作成方法を理解し、マニュアルに目を通したら、
次のページでサンプルをコピーペーストして動かしてみる。
こんなことができるんだという知識がどんどん増える。
初級、中級のやりたい事は、検索して見つかるでしょう。
英語のヘルプマニュアルのようなものですが、
プログラミングの経験者なら翻訳の必要も無く理解できます。

最新情報
Visualforce Developer's Guide(英語)
http://www.salesforce.com/us/developer/docs/pages/index.htm


デベロッパーエディションは無料でお試しができます。
http://jp.force.com/

JSONとハッシュとデータベース

ながい期間、システム構築に携わってきた。

システムは、変わり続けなければならないことが宿命。

ユーザーにとってシステムは便利な器でしかない。

システムを作り、管理していく側から考えると修正するたびに
まったく異なったシステムになる。

理想的なシステムは、日々リファクタリングすることが可能なシステムでしょう。

経営戦略にあわせて、プログラムもデータベースも変え続け、
かつ、過去のデータについても利害関係者に合わせてシームレスに参照できる
ことが理想でしょう。

DOA データベースを中心にシステムを構築していくことで、安定したシステムを作ることが可能ではある。

データベースの構築は、丁寧に業務を分析した上で行わなければならない。

システムとしてリリースした瞬間に、遅かれ、早かれ次の修正が待っている。

データベースの設計は、テーブルの関係性
親子関係、派生関係、参照関係を組み合わせて構成していくが、手作業で行うには
あまりにも複雑で細かすぎる。

特に、旧システムから、新システムへのデータベースの移行は、複雑さゆえに困難を極める。

できるだけ、データベースは変更したくないといった問題は、この辺にある。

データベースは2次元表の塊だ、この塊には業務上の意味づけが関連付けられている。
新システムへはテーブルの修正と、業務上の新しい意味づけが必要になる。

JSONは、1ファイルで親子関係を表現できる。テキストファイルで編集も簡単。
一見、おまじないのようでつかみどころがなさそうなフォーマットだが、
多くのプログラミング言語で読み書きできる。

こちらのPCにあるオブジェクトをネットワークでつながった他のパソコンへ送るようなことにも応用できる。

メモリ上にオブジェクトとして取り込めるので、プログラムで処理してデータベースに書き戻すのも容易だ。

読み込んだオブジェクトをハッシュに入れておけば、さらにプログラミングは楽になる。

データベース <> ハッシュ <> JSON の標準的なパターンを作れば、どんな言語でもシステムの移行は、効率的に進められるでしょう。

XMLJSONも表現できる内容は同じようなものだが、XMLは、同じ内容のデータを無駄の多いフォーマットで表現することになる。

プログラミング言語ごとに構文解析のパーサが用意されているが方言が多かったり、操作に一貫性がないので、言語ごとにコーディングが大きく異なってしまう。

扱いやすさは、JSONに軍配が上がる。

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

CONCEPTWARE 生産管理システムの実装版をPostgreSQLで動作させる


Githubにて作成した手順書をPDFにて用意しました。参考になれば幸いです。
https://github.com/kurokouji/pgMfgDscrt-/blob/master/20131007_XEAD-PostgreSQL.pdf?raw=true

CONCEPTWARE
 生産管理システムの実装版をPostgreSQLで動作させるための手順を紹介します。

 XEAD Driverの実装システムとして、販売管理に続いて、
生産管理システムが公開された。

XEAD Driverは、データベースにJavaDBを使用しているが、PostgreSQLMySQLでの動作も可能です。

最新版の生産管理システムをPostgreSQLで動かすための手順(概要)は次の通り

1.Java SE Development Kit 7 をインストールしてください。

2. XEAD Driver をインストールしてください。

3. JavaDB(ApacheDerby)のインストール先を参照して、
"C:\Program Files\Xead\Driver\StartDatabase.bat"の内容を修正してください。

4.スタートメニューから「XEAD Driver」 → 「DB の開始」を起動。

5.「CONCEPTWARE/生産管理」を任意のフォルダに配置してください。

6. 「MfgDscrt.xeaf」を開くと、XEAD Editor が起動します。
JavaDB(ApacheDerby)に接続され、テーブルが閲覧できます。

7. PostgreSQL に「MfgDscrt」データベースを新規に作成します。

8. XEAD Editor でデータベース設定をPostgreSQL に接続します。
ファイルを保存して、開き直します。同期が取れていないので「赤いX印」が表示されます。

9. XEAD Editor メニューの「ツール」→「モジュールの一括作成」を起動します。
PostgreSQL に合わせたDDL 文が自動発行され、テーブルが生成されます。

10. 同期しきれないテーブルに「赤いX印」が残りますが、個別にモジュールの同期をかけること
でインデックスが追加され、完全に同期します。

11. JavaDB(ApacheDerby)のレコードの内容をSQL インサート文として、エクスポートし
PostgreSQL で実行し、インポートを行います。

12. XEAD Editor で「F5」を押し、XEAD Driver が起動し、正常に動作するか確認します。


CONCEPTWARE/販売管理 SalesOrosi.xeafについても同様の手順で、
JabaDBからPostgreSQLへデータベース移行できます。