一月一善

一月一記事を目標にSAPに関することを書きます!※このBlogは個人の見解であり、所属する組織の公式見解ではありません

SAP BTPについて思うこと①

お久しぶりです。相変わらず一月一善(1記事)とはなかなかいかないですが、もう少し頻度を上げていきたい所存です。

SCP(SAP Cloud Platform)からBTP(Business Technology Platform)名前を変え、はや2年くらいでしょうか?
名前が定着しだし、私の周りの議論も「What's BTP?」から「Why BTP?」さらには「How BTP?」というような議論に移ってきている印象があります。

私はここ1年強、ERPやSACの導入/保守を支援しつつ、BTPの各サービスの検証、S/4を含めたアーキテクチャの検討、販促をしてきました。
(正直、コンサルというよりプリセールス的な役割の比重が現在高いです。)

今回のBlog(シリーズ*)の趣旨はここ1年での活動で思ったこと考えたこと(とちょっとの知見)をアウトプットできればと考えています。
*現時点では②まで構想がありますが、どれだけ続くかはわかりません。

BTPのPJ進んでますか?

BTPを活用した事例が少しずつ出始めてはいますが、でもまだまだ少ないのが現状かと思います。
原因は我々コンサル・技術者の理解不足で提案できなかったり、そもそもどういった活用方法をすべきか検討不足だったりと様々な要因があるかと思います。

また敢えて「BTPのPJ」と書いたのですが、本来BTPは何らかの課題を解決する”手段”であり、”目的”ではないと思います。
例にもれず私自身もですが、技術者は新しい技術を使いたがる節があり、とりあえずBTP使ってみたいという気持ちは皆さん少なからずあるのではないでしょうか?

SAPの”村”から出てフラットに考えれば、AWSなど他のPaaSでも課題解決できるのであれば、BTPを使わずともいいですし、ライセンス費などのランニングコストや非機能要件など諸々の条件を加味し最適な基盤を選択するのが良いITコンサルタントなのではないでしょうか?

そもそもBTPで基幹システムを構築するのは難しいよね

YanagawaさんもBlogに記載していますが、前提はF2Sで標準機能を活用し、顧客要件に応じて拡張開発を行い、BTPはその手段の一つであります。
qiita.com


確かにKeepCoreClean(以下KCC)の観点からABAPアドオン機能を作りこまないというのは基本的には同意します。
最近はSAPジャパンさんも仰っているのですが「ケースバイケース」ということになるかと思います。

例えば、別のシステムから数万件規模の大量データをI/Fし伝票登録するという要件があったとします。
この要件に対し、私はABAPで開発すべきと考えます。
BTPをはじめとしたPaaS環境ではS/4とはネットワークが分断され、APIでのデータ連携が原則となるため、パフォーマンスやデータの整合性を保つのが難しくなると考えています。

こういった大量データをバッチで登録することそのものがイケてないよね、という意見もあるかと思いますが、業務・ビジネスデータの特性上、バッチ連携を0にはできないと私は思っています。

正直なところ上記のようなバッチ連携以外も自分の経験してきた顧客要件の多くはABAPで実装したほうがベターと感じています。
KCCを意識して無理やりSide-by-Side開発するよりも既存のABAP資産を見直すほうが有益だと私は考えています。
(もっと言えば業務そのものをまずは見直すべき)

また上記のような技術的、アーキテクチャの観点だけでなく組織面や保守性なども考慮が必要です。
導入時にWeb系の開発者を外部から調達し構築してもGoLive後にリリースしてしまい保守できない、なんてこともありえなくはないのでは?と思います。
ABAPerからWeb系の開発スキルを身につける、、、は確かに理想なのですが、自分の経験上かなりハードルが高いことだと感じます。

少し話は脱線しますが、ABAP、Netweaverはビジネスロジックの構築に集中させる本来のシステム開発に必要なあらゆる面倒くさいことを抽象化、隠蔽化してくれています。ソースコードの構成管理や移送管理などはABAPerから見ると一番のGAPかもしれません。

非競争領域である基幹システムのCoreとなる部分はABAPで構築し、競争領域であるユーザ接点となる部分はBTPのサービスを活用しスピーディーに開発する、というのはひとつの方針かと思います。

じゃあBTP具体的にどう使うの?

若干BTPについて否定的なニュアンスを感じてしまったかもしれませんが、BTP自体を否定している訳ではありません。
ユーザ側に業務の見直しを促すのと同様、我々コンサル・SIer側も導入方法を見直すべきであり、単に基幹システムを構築するのでなく、ユーザの本質的な課題に向き合う必要があると思います。(きっと既にできている方々も大勢いるのでしょうが。)

また今までの話と若干矛盾してしまうかもしれませんが、SAPのビジネスに携わる者としてBTPを活用したユースケースを考えることは、SAPコミュニティの発展に大きく貢献することだと思います。

②以降の記事でもう少し具体的なユースケースをアウトプットできればと思います。