techno-airplas による application 開発

13
Techno-AirPlas による Application 開発 株式会社 テクノ産業 平成22年5月

Upload: others

Post on 22-Mar-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Techno-AirPlasによるApplication開発

株式会社テクノ産業平成22年5月

ソフトウェアベンダーの課題

• ユーザー様、販売店様のご要望、市場のニーズに即応できない。

• ソフトウェア生産に伴う品質、コスト、納期について経営的評価をしながら、事業として会社を健全に発展させてゆくために不可欠な商品の改良、新商品の開発が思うように進められない。

• 一つの要望、ニーズに対して、これを解決するための提案(デザイン)を見直したり、複数案を用意するだけの余裕がない。

• インターネット越しに大量の情報活用できるWebアプリケーションの開発には、それまでとは異なる新しい体制(生産手法)を用意すべきだが、これと言った新しい開発体制を整えることができない。(個人技に依存)

• 体制未整備の一因として、これまでローカルアプリケーションを開発してきた実務経験豊かな技術者を、Webアプリケーション開発の現場でも活躍できるように起用、育成することが非常に難しい。

アプリユーザー(お客様)<言葉によるコミュニケーション>

アプリ開発者<ActionScript,MXML>

ライブラリ開発者

業務上の要望、問題提起

業務改善の提案

ライブラリ機能の要望、調整

ライブラリ、仕様書、サンプル、作業手順書

機能

特徴

データベース共有、ローカル・ネッネワーク

(LAN)対応

広域、インターネット、多拠点運用(WAN)対応

グラフィカル・ユーザー・インターフェース(GUI)

ブラウザ要否、利用者側の操作性使いやすさ

機種OS依

存度、システム保守の難易度

システム開発資産(人材育成)継承の難

易度

システム

開発の効率、速度、難易

Delphi ○ × ○ ○ × △ ○

Java △ ○ △ △ ○ × △

AirPlas ○ ○ ◎ ◎ ◎ ○ ○

◎:非常に良い、○:良い(可能)、△:まあまあ(可)、×:良くない(不可)

AirPlasの概要(1)

課題インターネット、広域運用(WAN)対応

ユーザー・インターフェースの柔軟性

ブラウザ要否、利用者側の、使いやすさ

機種、OS依存、

システム保守の難易度

システム開発資産継承の難易度

システム開発の難易度

Web Side Client (User) Side Server (DataBase)Side

JAVA

<★前提:ブラウザ使用>

HTML,CSS,JavaScript,Ajax

サーバーサイドによる画面設計、

画面切り替えによる遷移

<★前提:WebアプリがHTMLを生成する>

オープンソースに基づくJava中心の開発環境

Java,JDBC,Hibernet,Tomcat,Eclipse

多種資産のバージョン管理

RoR

<★前提:ブラウザ使用>

HTML,CSS,JavaScript,Ajax

サーバーサイドによる画面設計、

画面切り替えによる遷移

<★前提:WebアプリがHTMLを生成する>

Ruby on Rails,MySQL

フレームワーク:Rails、ORMapper:ActiveRecord、

MVC(Model,View,Controller)の採用

AirPlas

<★ユーザーに分かりやすい操作性>

MXML,ActionScript,SQLite

ブラウザ使用は前提ではない。

クライアント側の自由な画面設計、

ローカルDB,複数画面の同時利用可

<★技術者に優しい開発環境>

Ruby on Rails,MySQL,E4X,

RESTful コンセプトによるWeb結合

フレームワーク:Rails、Ver.管理:Subversion、

エディター:EclipsePlugin等の活用

AirPlasの概要(2)Webアプリケーション開発環境(手法)の比較

Adobe Air について

■特徴【1】OSを超えて動作が可能Windows に限らず、MacOSX や Linux 上で動作するデスクトップ・プログラムを単一の手法で開発することができます。

■特徴【2】クライアント開発技術に既存技術を流用Flex、Flash、ActionScript、HTML、JavaScript 等「既にノウハウを蓄積した技術」を流用できます。

■特徴【3】多様なサーバ側の開発技術サーバサイドの開発技術としてさまざまな技術を選ぶことができます。ポピュラーなサーバサイド開発技術としては Java が挙げられますが、サーバ側を PHP や Perl、 Ruby や .NET で構築することも可能です。もちろん、Air を用いてサーバ側の処理が無いデスクトップで単体で動くアプリケーションも作ることできます。

■特徴【4】新しいマッシュアップの可能性AIR の内部には HTML や PDF を再生する技術が入っており、それらを「オブジェクト」として扱うことができます。例えば、特定の Web ページを AIR の中で開き、その画面をくるくる回転させたりすることができます。 Google マップや Yahoo! Maps などのような「HTML で作られているアプリケーション/サービス」を AIR 上で同時に表示して組み合わせて新たなアプリケーション/サービスを構築すること(マッシュアップすること)も可能です。

■特徴【5】「デスクトップ」との連携AIR はデスクトップ・アプリケーションとして、ローカルのリソースとある程度ですが連携できます。

補足資料

Ruby on Railsについて

Ruby on Railsは、Devid Heinemeier Hansson氏が中心となって開発、改良を続けているRuby製のオープンソースWebアプリケーションフレームワークです。 Hansson氏によれば、それまでは「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってWebアプリケーション開発をしていた」、そこで両者のいいとこどりをした「早くてきれいな」コードが書けるフレームワークが必要だったと語られている。

優れた特徴を持つRailsは、リリース直後から世界的に注目され、Railsの影響を受けて誕生とされる代表的なフレームワークには、 Java >[Trails] 、Perl >[Catalyst] 、PHP>[Cake] 、ython>[Django]、Groovy >[Grails]、 .Net>[MonoRail] 等がある。

Railsがここまで多くの支持を獲得してきた本質を探ると、そこには従来のフレームワークには無い数々の特徴が見うけられる。例えば、Convention over Configuration(設定より規約に則ることによる簡素化)、 Don‘t Repeat Yourself(同じロジックを重複させないしくみ)、開発・テスト・本番用の作業環境を用意、 ソースコードの雛形を生成できるScaffold

(ジェネレータ)、画面周り、データ周りや自動テスト機能等、まさに独創的、革新的なアイデアが盛り込まれている。

補足資料

Rubyについて

「気軽な」インタプリタ変数に型が無い変数宣言が不要シンプルな文法メモリ管理が不要(GCあり)

「オブジェクト指向プログラミングを支援」全てがオブジェクトクラス,継承,メソッドなど特異メソッドモジュールによるMixinイテレータとクロージャ

「スクリプト言語」インタプリタ強力な文字列操作/正規表現OSへの直接アクセスが可能

「その他」多倍長整数を持つ例外処理機能ありダイナミックローディング

Webアプリケーションの開発手段としてRuby on Railsが爆発的に広まりました。Twitter.comのように秒間4,000メッセージを処理する高負荷な

サイト構築に使われたことや、企業のシステム開発の標準プラットフォームとして採用が発表されるなど、利用範囲が拡大したため、Rubyについての記事を目にする機会が増えています。

Rubyを開発したのは「まつもとゆきひろ氏」です。同氏が当初、目指したのはPerlのように手軽に

扱えながら、本格的なオブジェクト指向プログラミングができる言語だと語っています。

Rubyは1993年から開発がスタートし、フリーソ

フトウェアとしてソースコードが公開されたのは1995年です。奇しくもJavaが一般に公開されたことやPHPの開発がスタートしたのも同じ年です

から、これらは同世代の言語と言えるかもしれません。

補足資料

画面、印刷物デザイン業務改善、操作指導

システム機能の抽出モデル、データベース設計

総合テスト、保守

ライブラリ開発開発環境調整

業務上の要望、問題提起

課題解決の提案運用マニュアル

ライブラリ、仕様書、サンプル、作業手順書

ライブラリ機能の要望、調整

画面、印刷物デザイン業務改善、操作指導

システム機能の抽出モデル、データベース設計

総合テスト、保守

ライブラリ開発開発環境調整

Application Programming Process

<UI構想宣言>・・・・・・・・・・・・・・・・・・・承認要求1

1.印刷物・画面デザイン、モデル(クラス)の設計2.モデル間の継承、参照関係を解析・明示

<UI構想確認>・・・・・・・・・・・・・・・・・・・承認要求2

3.AirBase(Techno版 Scaffold with AirPlas)の作成(1.2.の以外作業を一切行わないで、全てのレコードに対して登録、参照、修正、削除が可能)

<UI構想確認>・・・・・・・・・・・・・・・・・・・承認要求3

4.プログラミング(分かりやすさ、使いやすさ、作業効率の追求)

<UI構想確認>・・・・・・・・・・・・・・・・・・・承認要求4

5.テスト(モニターテストを含む)

<UI構想確認>・・・・・・・・・・・・・・・・・・・承認要求5

Application Programming

AirPlasの概要(3)AirPlasアプリケーションのイメージ

(画面サンプル)

AirPlasによる開発の優位性

• ソフトウェア製品(特注、パッケージを問わず)として、ローカルアプリケーション、Webアプリ

ケーションの区別考えずに、一貫した開発手法を用いて生産できる。

• これまで、開発担当者が自他を問わず重複してやらなければならなかったコーディング(同じ

ようなプログラムを書く作業)を一元化(ライブラリーに集約)してあるので、アプリケーショ開

発者はよりユーザー側からみた利便性、操作性、デザインを考えた創作作業に集中できる。

• システムに対する要望、クレームに対し、ユーザー側からみた価値観、利便性、操作性を考

慮して、要望を解決するためのアイデアを複数用意するだけの余裕がうまれる。

• 意識改革とやる気があれば、これまでローカルアプリケーション開発経験しかない人もこれま

での業務知識を活かし、AirPlasによるwebアプリケーション開発者として活躍できる。

• 製品の品質向上、コストダウンが図れる。

• システム開発の工数を予測して、納期を守れるようになる。

• アプリケーション開発時の無理な残業や休日出勤等が無くなる。

• ユーザー様、販売店様のご要望、市場のニーズに即応でき、既存商品の改良、新商品の開

発が思うようにできる。

• ユーザー様、営業担当者の製品に対する信頼性が増し、ブランド化したソフトウェア製品、同

製品によるサービス商品の売り上げが伸びる。

AirPlasパートナー募集

AirPlasを使ってWebApplication、LocalApplicaitonを効率よく生産したい、システムの生産体制を見直したいとお考えのソフトウェア会社経営者にお勧めです。

タイプA:<対象>ソフトウェアベンダー様

AirPlasそのものの改良、拡張にご協力をいただける法人様がおられましたら共同開発のご相談を賜りたいと存じます。

タイプB:<対象>大学の研究室、その他研究機関様

AirPlasによって開発されたApplicationを採用、導入して事業そのものの経営効率を改善したいとお考えの事業経営者様にお勧めです。

タイプC:<対象>ソフトウェアユーザー様

お問い合わせ先:㈱テクノ産業 秋間 <[email protected]>