「これまで数多くのプログラミング言語を扱ってきた経験から言って,言語には大きく2種類ある。一つは芸術的なプログラミングを志向する言語,もう一つは工業化されたプログラミングを志向する言語だ。ABAPは典型的な後者。金儲けができるプログラミング環境といえる。ABAPを使って,一人でビジネス・アプリケーションを開発し,起業することも可能だ」。SAPジャパン ビジネスプロセスプラットフォーム本部BPPソリューション部の古澤昌宏部長は,こう主張する。

 ABAPは独SAPの開発・実行言語。同社のERPパッケージ(統合業務パッケージ)「SAP ERP」の中核機能であるBASISや追加機能(アドオン)などの開発・実行に使用する。SAPの当初から存在する言語で,「プログラマではなく,ビジネスを深く理解している人間が作った,ビジネスのための言語」(古澤氏)。言語仕様はCOBOLと似ており,データベースを利用するビジネス・アプリケーションの開発・実行に必要な機能を一体化した形で提供する。「開発者はビジネス・ロジックの開発だけに集中できる」(同)。

 SAP ERPは現状,約200万本のABAPプログラムで構成される。同社版のSOA(サービス指向アーキテクチャ)であるEnterprise SOAに基づいて提供されるサービス部品「Enterprise Services」もABAPで記述されている。同社のミドルウエア群「NetWeaver」でも利用している。

 ABAPはあくまでSAP環境の言語であり,基本的にSAP製品がないと利用できない。ただし,開発者向けWebサイト「SDN(SAP Developer Network)」を通じて,ABAPの体験版を無償でダウンロードできる。この体験版にはデータベース(MaxDB)も付属しており,実際の製品版とほぼ同様のABAP環境を利用できる。「Virsa Systems(SAPが買収)も,ABAPで開発した内部統制対応の製品を元に起業した。同様の事例が日本でも出てくることを期待している」(古澤氏)。

 現在,SAPは開発言語としてABAPだけでなくJavaも利用できるとしているが,「ERPパッケージの中核をなすBASISがABAPで開発されている以上,ABAPは無くならない。最近,改めてABAPは使いやすい言語だと再認識している。プログラムの可読性がよいだけでなく,バグが生じにくい環境になっており,生産性は高い」(古澤氏)。NetWeaverの最新版7.1では,Javaの実行環境であるJava VM(仮想マシン)をSAP自身が開発した。その際には,「効率的なメモリー管理の仕組みなど,ABAPで得たノウハウを生かしている」(同)。