Hatena::ブログ(Diary)

novtan別館 このページをアンテナに追加 RSSフィード

2016-07-11

名寄せって難しいのよね

同姓同名同生年月日くらいだったら「便宜上」同一人物として扱っているシステムは結構多いと思うよ。

事故の経緯に関し、銀行側の説明をまとめると、次のようになります。

寝屋川支店では、死者の親族からの要請を受けて、死者の銀行口座を閉じた。この際、三井住友銀行の全国の顧客の口座一覧の中で、死者と同姓同名、同じ生年月日の人物を、住所を確認せずに閉じた。

404 Not Found

その人がどの支店に属する人かが重要であった時代ならともかく、今銀行にとってリテールのお客さんの住所は富裕層ならともかくそうじゃなければそれほど大きな意味合いを持っていないことも多いでしょう。

銀行についてはペイオフの絡みでずい分昔に名寄せのシステムは整えたんですが、実際のところ、システム的な名寄せを全て信じて何かをすることは難しいので名寄せされた人はことが起きた時にある程度人力で確認をすることが前提なんじゃないかと思います。住所ってよく変わる上に変わったことが通知されないことが結構ありますから、住所そのものは名寄せの完全なキー情報ではないんですよね。

三井住友のシステムがどうなっているのかはよくわかりませんが、もし名寄せされているのであればそれが「便宜上」であることを理解しないままオペレーションしてしまったってことで単純にオペミスか運用手順ミスですね。わりと由々しき問題なので隠してなければ行内ではそれなりに問題になって改善指令とか出てるんじゃないかな(住所の違う口座があるかを確認する手順とか)。

そういえば昔、実家の隣に自分の旧姓(つまり実家と同姓)で同名の人が引っ越してきた結果云々って話を見たことがあるけど、いずれにしてもID情報ってのはもうちょっとこう一意性が保証できる何かである必要があって、そういう意味ではマイナンバーは本来はこういうことを防ぐために必要な情報として重要なんですけどねえ…

2016-07-07

みずほ銀行こうすれば救えるんじゃないかなあ

とにかく、3.11以来金融庁がうるさいので、ちょっと計画変えますって話もなにか問題があるのかどうなってるんだ報告しろで貴重な時間と金を吹っ飛ばすことになりかねないので計画を変えることに対して及び腰になってしまうという問題があるんじゃないかと思うんですよね。つまり、金融庁が余計な口を出さなければ計画が適正になるんじゃないの?

という話はさておき、やっぱりこっちの業界の人とあっちの業界の人では思うことにだいぶ差異があるんだなあと思いました。

で、結局何百億という予算は多重下請け構造の中で中抜きに中抜を繰り返され、最終的に実際に作業する人には時給数百円しか行き渡らないため、中国や台湾、ベトナムといったところから人が駆りだされてきて、現場の中国人が台湾人と殴り合いの喧嘩を演じるとかもう収集つかないところまで来ているという話です。原発事故の石棺処理みたいな煉獄が、こんな近所に存在しているかと思うと胸が熱くなりますね。

みずほ銀行はどうすれば救えるのか・・・なあ - shi3zの長文日記

僕もこの界隈(金融関連のSI)で働いてますけど、特に銀行案件は商流に厳しく、ゆるいところでも3次請けが限界ってことが多いんですよね。特にうちの会社はわりと真面目にやっているのでわけのわかんない7次請けなんて来ないんですが、その分全然人集まらない。でもまあ金融ってちょっとおかしいところはあって、ボリュームが出る代わりに単価安い部分もあるのでそこも苦しいけど。

なのでこの話が本当だとしたら世の中にはクソな2次請けレベルの会社があるのだなあ…

とはいえ、そもそもこのプロジェクトって、少なくとも10年以上前からやってるはずですよね。

報道の通りで、そんな昔からやっているわけじゃないですよね。本格的には2012年位からじゃない?

そんな瑣末なことはどうでもいいとして、

しかも実際にプログラムを書くわけでもない上流工程のSEが多すぎて、それがまさしくウォーターフォールという形で下流工程に流れて行くわけですが、その過程で二次請け三次請けとたらいまわしを繰り返し、最終的に七次受けという嘘かホントかわからないレベルまで人材の質が下がります。

これが全然わからない。2次請けって言ったらその上流工程のSEそのものだし、3次請けはそこを体制的に強化(あるいは強力なSEレベルのサポート)し、開発時にボリュームを受け持つをするのが役割で、たらいまわしになるわけではないよね。もしこれが本当なら僕の知らないところでクソな2次請け会社が沢山あるのだなあ(まああるんだろうけど)。

ここでの上流工程ってのは当然ですが、プログラムを書く以前に業務をシステム要件に落としこむわけだからそりゃ業務要件沢山あれば人はたくさんいますが多すぎるってのは意味がわからない。単にそれだけの分量要件があるってだけ。人材の質が下がるのは人材マーケットが枯渇しているから。よくこんなやつ提案してくるよなって会社がいっぱいありますが…我慢して使うってことはめったにないけど僕の知らないところでクソ会社では採用しているんだろうな…

そもそもなんでそんなことが起きるかというと、「できます」といってできない会社が多いからです。

周りを見ているとよくそんなことで怒られている会社があるので確かにこれはあるんだろうなあとは思うけどね。

では本当はどうすればいいのかと言うと、みずほ銀行はまず一度大手SIerとの付き合いを保留にして、自社で完全なシステム構築ができる人材を雇うべきです。

ほら、こういう人ですら「完全なシステム構築」とか言っちゃうわけでしょ。そりゃシステム上手く出来ないわけですよ。冗談はさておき、べきですって言って具体的にどうするの?って言うとすぐ答えが出なくなっちゃう問題ですよ。言うのは簡単だけど、実際に計画を立てられる人っているのだろうか。試しにやってみたらどうだろう。

Webサービス開発みたいにお気楽じゃないんだよ銀行は!」とSIerの方々はおっしゃると思いますが、生き馬の目を抜くようなこちら側の業界では、「サービスが落ちたら遺失利益を賠償しろ」みたいな無茶苦茶な契約を結ばないとならないことが良くあります。それこそ秒速で一億は言い過ぎにしても、1秒止まったら何千万の賠償となったら真剣に設計しますよ。それで落とさないっていうのがWeb屋の意地なわけです。

で、これもちょっとお話の観点が違って議論にならない気がします。1秒止まったところで逸失利益はほぼないけど、1時間止まったら行員とバイトのテーラーさんの時給換算で億単位くらいは軽く無駄になるよね。1日止まったら預金も何十億単位かで流出する可能性があるし、元帳が壊れたら多分何千億単位の損害が出た上に銀行潰れるかもしれないよね。

実際には止めない(レスポンスが完全に保証される)ことが目的ではなくて、致命的な不整合を起こさないことと、問題があったときにどれだけ早く復旧できるかが大事なんですよね。もっと言うと、こういった問題はオンラインよりもバッチ(純粋なバッチじゃなくてオンライン更新バッチもあると思うけど)の方が難しいんですよね。

みずほ銀行の預金者は2400万人だといいますが、ATMは6700拠点。まあ各拠点に平均5つのATMが設置されていると仮定して3万3500端末。Webサービス的な常識で考えるとこの端末数の負荷は余裕すぎるわけですが、まあここにネットバンキングが加わったとしても、数十万人のアクティブユーザが一日に何千回とクエリーを送ってくるソーシャルゲームに比べたらトランザクション数としてはぜんぜんです。

システムのパフォーマンスはそりゃ巨大システムだから当然問題になるんですけど、そこは別になんとかなる問題で、どっちかというとトランザクションのパターンが多いことが問題ですよ。数千パターンはあるわけで。その上で難しい業務なんかだと項目チェックだけでものすごいパターンありますしね。単純にやること、考えなければならないことが多すぎるんです。当然ですが、抱えているデータの量もデータの更新パターンも段違いです。1トランザクションあたりのシステム負荷がソシャゲに比べたら段違いだと思いますよ。

既に実績のあるWebベースの取引システムなんか世の中に腐るほどあるわけで、SIerの言いなりにならず責任者が自分の頭で考えれば遥かに低コストかつ早期にシステムの移行ができそうなものですが・・・

既存の業務を捨てて新規に作るのであれば、低コストかどうかはさておき、スピード感あるものが出来るのは間違いはないですね。住信SBIネット銀行なんてのはまさにそういうのだと思うし、逆に言うと、それは持たないものの強さでしかないんですよね。メガバンクが自社の強みを活かすためには当然過去の切り捨ては出来ないわけです。法律でもガチガチに縛られていて既存のシステムをひょいっと適用することは現実的に不可能なことがほとんどだと思いますよ。

ベンダーが絡むと・・特にIBMなんかは自社のメインフレームを売りたくてしょうがないでしょうし・・・・けれどもそんなもの混ぜた時点で終わります。IBMにしかメンテできなくなるからです。

それはハードウェアの話でしょ?ソフトのところは別にIBMしかメンテ出来無いわけじゃないよ。

まあ他のベンダーも思惑は一緒だろうなあ。三者のベンダーを混ぜると、三種類のシステムが混在するよね、常識的に考えて。つまりIBMのメインフレームと日立のメインフレームと富士通のメインフレームが三つ巴の戦いを繰り広げる壮大なスペクタクルロマンが始まっちゃうよね。せめてどれかひとつにしておけばまだ混乱しなかったかもしれないのに・・・。今更言っても仕方ないけど。

今までの報道を読んでないのかもしれないけど、メインフレームはIBMだけって言われてますよ。日立はUnix使ってるって言われてますよ。ちょっと適当過ぎませんか?

こういう場合は、てっとり早く作れるWebベースのクローンシステムを作って、実際の銀行トランザクションのシステムとのつなぎ込みだけやって部分運用とかをしながらブラッシュアップしていけば、まあすんなり行きそうに思えますけどね。全体の予算がウン百億だから、まあものは試しで1億くらいかけてWebベースのプロトタイプを横で作ってみて「あ、正攻法ではダメかと思ったらこっちでもうまくいくじゃん」っていうことにならないんですかね。

さっきからWebベースWebベースって言っているけど何のことを言っているんだろうかってちょっと疑問に思ってきました。今みずほが作っているのって「実際の銀行トランザクションのシステム」であって、フロントチャネルの更改やっているわけじゃないですよね?で、ここについては既にどこかで言われている通り、3.11のあおりで段階的な構築の目を潰されたという話なので、冒頭の金融庁が悪いという話だと僕は予想してるんだけどな。

2016-06-10

名前晒しあげなエンジニアにはご同情申し上げるがユーザーフロントエンドの目に見えるソースにコメント入れるなよ的な何か

タイトルのとおりなんですが。

パスポート更新申請のPDFの仕様が酷いと聞いたので確認してみた - Windows 2000 Blog

htmlソースとか、スクリプトとか、ユーザー側で見れちゃうところにコメント残す神経は正直わからないわけです。修正コメントとかそのへん怪しいですよのマーカーでしか無いし、処理の説明とかバックエンドの仕組みを創造させちゃったりするわけで色々と嫌であります。

官公庁って緩すぎるよな…あんなに監督先には厳しいくせにね。

2016-05-23

100人以上で3時間で14億

ATM不正引き出しの話ですが…

まず100人だとして一人頭1400万。リスク見合いなのかというのは大変気になります。1400万をコンビニATMで引き出すのはかなり大変で、大抵の場合一回あたりの引き出し上限額が決まっているので(セブンは忘れたけどイーネットだと20万。セブンは30万だった気もする)、何回にも分けてやらなければならず、本当はカード側で一日の上限金額が決まっているはずなんだけどそれはどうなんだろう海外カードだったりするんだろうし。200人としても700万、20回以上引き出すのは大変。当然ですが、1店舗のATMにそこまで入っている可能性はあんまり無いのでセブン-イレブン回らなければならない。3時間でこれを実現するのは正当な引き出しであっても困難な気がするのですよね。

相当綿密に計画されたのであろうとは思いますが…

2016-05-10

コードが設計を可視化するというのは幻想だと思う。

オブジェクト指向の問題点 - ビスケットのあれこれ

オブジェクト指向UMLとある意味セットだったのはそういうことなんだと思うんだよね。

だから、それは言語や言語の設計思想の問題というよりはツールの問題だと思う。

ビジュアルプログラミング言語にしたって、バックグラウンドに控えている実装に対してある程度の制約をつけた上でそれを隠蔽しているインタフェースに過ぎないんじゃないかな。

だから、UML的なものからコードの自動生成に繋がるようなツールの整備があったとして、それがオブジェクト指向言語の素晴らしさを示すわけではなくて、単にツールの実装を可能にするレベルで抽象化できていた結果でしか無いと思うし、逆にそういうのがないと色んな物が可視化されないということがプログラミング言語としての欠点の本質であるということも全然言えないよね。