2009年9月20日日曜日

SAPのハードウェア認定



Note84855を参照のこと。


Windows系はhttp://www.saponwin.comに載っている。



BULL, DELL, Egenera, Fujitsu, HP, Hitachi, IBM, Startus Technologies, NEC, Sun, Unysis



Unix系はOSに対して認定されるが、現在のところ以下とのこと。



Linux (Suse and Redhat) on Intel HW by Fujitsu-Siemens, Sun, IBM, HP Dell, Unisys, Bull.


Linux for zSeries (SuSE) on IBM eServer zSeries hardware (64-bit architecture),


Linux auf PowerPC (SuSE und Red Hat)


IBM AIX on IBM and Bull Hardware,


HP-UX on HP hardware (HP-UX on Hitachi hardware is only supported


in Japan for SAP products),


Tru64 UNIX on HP hardware,


Sun Solaris on Sun hardware and Fujitsu-Siemens hardware,


FSC ReliantUNIX on FSC Hardware.






2009年8月26日水曜日

SAP Best Practices



最近よく聞く話として SAP Best Practices があります。


事前のカスタマイズやマスタデータなどがベストプラクティスとしてまとめられたパッケージです。ERP6.0EhP3などBusinessSuite7系に追加インストールし有効化すれば、サンプルマスタデータも入っているので、ある程度シナリオが動くようになっています。IDESとは違って、必要であれば追加のカスタマイズやデータ登録して、本番環境として使えるようになっています。


トップダウンでのSAP新規導入であればこれをベースに導入ってのもアリなのかもしれませんね。海外では結構事例が増えてきているとのこと。


ロジはツラいと思いますが、会計系であればAdd-onを最小に押さえて、これベースでいける会社は日本でもあるのでは。。


http://help.sap.com/bp_bl603/BL_JP/html/index_JA.htm


いろいろシナリオごとにドキュメントが充実しているので、読むと勉強になります。


もっとEnterpriseServiceとか言う前に、こちらを宣伝したほうが良いのでは!?と思ってしまいます。





2009年4月19日日曜日

JCo3.0 (第1回)



しばらく経ってしまいましたがJCo3.0に関して書いていきたいと思います。


JCo2.0との違いは色々あるのですが、まず大きなところは「コネクションプーリングがJCo Runtime 任せになった」ことでしょうか。


JCo3.0のpdfドキュメントでは以下のような感じでサンプルが書かれています。


1. まずは接続情報をプロパティファイルとして作成


2. Javaのコードからは、JCoDestinationManagerクラス(staticクラス)よりdestinationを取得する。このときプロパティファイル名をキーとする



JCoDestination destination = JCoDestinationManager.getDestination("プロパティファイル名")



3. 呼び出したいファンクションをリポジトリから探す



JCoFunction function = destination.getRepository().getFunction("ファンクション名");



4. ファンクション実行



function.execute(destination);


# もちろんファンクション引数ある場合は色々setValue()しておく


ここで、コネクションプーリングは1.のところの接続情報にてプールの情報を書いておくと、自動で実行時にJCo Runtimeがよきに計らってくれます*1。簡単になりましたね。


なお、接続情報にはサーバのIPアドレス、システム番号、SID、クライアント番号以外にも、ユーザクレデンシャルが含まれます。ユーザクレデンシャルがユーザID/パスワードの場合、これらをプロパティファイルとして作るのはイヤでしょう。そんなときは以下を参考にしてみてください。https://www.sdn.sap.com/irj/scn/thread?messageID=7303957


DestinationDataproviderを自分でインプリしてcom.sap.conn.jco.ext.Environmentに登録すると良いようです。



com.sap.conn.jco.ext.Environment.registerDestinationDataProvider( provider );



次回はもう少し突っ込んだファンクション実行、もしくはThreadを意識した利用方法です。その他SAPJCoIDocライブラリについても書いていきたいと思います。




*1:逆にJCoDestinationクラスはどう接続を生成するかの情報のみ保持し、実際の接続自体の生成や保持はしない。JCo Runtimeが生成/キャッシュをする





2009年4月14日火曜日

SolManでパッチ適用効率化



https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12366


どうやらSolManにSP18適用して、かつそのSolManのNW7.0をEhP1にすると、メンテナンスオプティマイザによるパッチのダウンロードだけでなく、SolMan管理対象サーバへのパッチのデプロイと適用もできるようになるとのこと。NW7.0EhP1はちょうど先月正式リリースされましたので、是非とも試してみたいところですね。SolManで適用情報も一元管理されますし、特に頻繁にパッチ適用してサーバ状態管理するであろうベーシス担当者の作業負荷が軽減されるのではないでしょうか?


また今後はNW7.0EhP2でカーネルパッチやIGSへのパッチもあてられるようになるそうです。


>- Solution Manager (MOPZ) SP15-SP17 + Netweaver 700 SP14+ (SLM) = Download only


>- Solution Manager (MOPZ) SP18 + Netweaver 701 (SLM) = Download + Deployment of ABAP and Java


>- Solution Manager (MOPZ) ? + Netweaver 702 (SLM) = Download + Deployment of ABAP and Java + Kernel and IGS patch





2009年4月11日土曜日

AS Java の変化



以前sapjvmのtopicで以下のことを書きましたが、


>ねらいはAS Javaと組み合わせて、もし複数VMのうち1つがダウンしたとしても、他のVMに素早くsession failoverできるようにすることらしいです。


これを含む、CE7.1より変更されたAS JavaのアーキテクチャのことをSAPは "Solid Rock" と呼んでいるようです。


以前(NW7.0)は、AS JavaはHTTPリクエストを最初に取得する部分をJavaで実装していました(java dispatcher)。ただ、javaによるそもそものオーパヘッドを減らすために、Solid Rock(CE7.1~)ではこの部分がABAP Stackでも使われているICMに変更されました。で、J2EEエンジンにリクエストを渡すときには以前の通常のローカルTCP/IPポート経由ではなく、MPIという共有メモリ[*1]経由になり、sapjvmを通してJ2EEエンジンが取得することで、リクエスト受け渡しのオーバヘッドも減らすようにしたようです。


[*1] http://help.sap.com/saphelp_nw04s/helpdata/en/e7/2e25c472e04b63bf6139dd7071a858/content.htm





Blue Ruby



http://www.atmarkit.co.jp/news/200904/01/blueruby.html


https://www.sdn.sap.com/irj/scn/wiki?path=/display/Research/BlueRuby


ABAP VM上でRubyが動くようになるようですね。


・Ruby1.8.6ベース(1.9ベースにswitchすることも計画中)


・RubyのコードからABAPのFMやESを呼び出せる(RFC[*1]経由/WebService経由)


・ABAPコードから作成したRubyコードを呼び出せる


・HTTP Bridgeにより、作成したRubyコードをICM経由でブラウザから呼び出せる(Webアプリ作れる)


・HTTP Client用のライブラリも用意されている[*2]


・BAdI Bridgeにより、RubyでBAdIインプリできる


・(制限)ProcessとかKernel、Threadクラスは使えない。NetworkはNet::HTTPのみ


[*1] Remote-enabledなFMしか呼び出せないのは技術的理由ではなくセキュリティの理由からだそう。。


[*2] Rubyのnet/httpライブラリとはちょっと違うらしい


まだリリースはされていないものの、なかなか面白そうです。


ABAP Stack でWebアプリとか作るときの新たな候補としてBlue Ruby使えるかもしれませんね。





2009年3月7日土曜日

ERP EhP4で強化されるPDF-Based Forms



ERP EhP4でいろいろ使えるPDF帳票が増えるそうです。


http://wbhelp.sap.com/SAP_BS_FND_701/helpdata/EN/79/FF461E102445BEB8027ED0FDE1E1BF/frameset.htm


スイッチフレームワーク利用しているためT-cd:SFW5から有効化します。


注意なのは、この PDF 帳票利用するためには SAP の Java Stack(Adobe Document Service)が必要なことです。





2009年2月15日日曜日

SAP Solution Manager EhP1



Solman EhP1で強化された機能の一つとして「ソリューション文書化」があります。


http://help.sap.com/saphelp_smehp1/helpdata/ja/3d/d05893e6ba4dfab7c0d66de8d52420/frameset.htm


以前3rd PartyからOEMされていたRBE(Reverse Business Engineering)という細かい分析/レポーティングできるデスクトップtoolがSAP向けに提供されていたのですが、こういう機能がまたSolman上に追加されたようです。


# ちなみにRBEは海外ではR/3のセキュリティ監査をやる際のツールとして結構有名だったそうです。今はGRC Access Controlsだとは思いますが…


メリットは、


・EWA+αで細かいオブジェクト(レポートとかBAPIとか)の利用率を取って文書化できる


・カスタムコード(Add-on)の分析機能が充実している(例えば「移送頻度」「参照のないオブジェクト」「Unicodeチェック」といったレポートがある)


です。後者は「カスタム開発管理コクピット」(CDMC)と呼びます。


情報収集のため、対象システムに対して「ST-PI 2008_1_* SP00」を入れる必要ありますが、例えばR/3->ERPへのアップグレードのアセスメントツールとしてはなかり有用と思います。





2009年1月29日木曜日

NetWeaver AccAD(Accelerated Application Delivery)



AccADって知ってますか? SAPのWebアプリへのWAN経由でのアクセスを高速化するキャッシュ製品です。こんなのも作ってたんですね。

https://www.sdn.sap.com/irj/sdn/nw-accad

今はPortalおよびPortalの文書管理機能のみですが、今後はBIやERP、WebDynproなんかもcontents awareで高速化していくみたいです。




ERP6.0 on Windows Server 2008(x64)/MS SQL Server 2008(x64)



PAM(http://service.sap.com/pam)をみていたら、どうやら1/22にリリース/サポート対象となった模様です。





2009年1月5日月曜日

SAP connectors



最近はWeb Servicesだ何だと言われておりますが、外部のシステムからSAPシステム(ABAP)に接続する際によく使われるのは以下RFCを利用するいずれかのコネクタだと思います。


・C/C++インタフェースを持つ、コアのRFCライブラリ


・JavaからSAPシステムへの接続を可能にするSAP Java Connector(通称JCo)


・.NetからSAPシステムへの接続を可能にするSAP Connector for .Net(通称NCo)


実際にはNCoは、SAPシステムへの接続のためのProxyクラスを簡単に作ってくれるVisual Studio向けのWizardと、そのProxy経由で接続するためのランタイム時の.Netライブラリ(これを通すことによってRFCだけでなくSOAPによるSAP接続もサポートしてくれる)を提供してくれています。


http://help.sap.com/saphelp_nw04s/helpdata/en/7a/aac81c582c6c4ea42a8e2f4e626f31/content.htm


機能的にはNCoはとても充実しており、WizardといってもSAPのBORやDDIC見てメソッド/データ型を取ってきてExplorer風に直感的に見せてくれたり、作られるProxyもSAPログオン面倒みてくれるものだったりするので、VisualStudioで作るアプリから接続するには一番ステキと思っています。


ただ、JCoも忘れてはいけません。実際にSAPを利用している企業では外部で動いている既存のスクラッチのWebアプリ/JavaシステムからSAPシステムへの接続用に良く使われているようです。


JCoは最近(といっても去年ですが)2.x->3.0にメジャーバージョン上がり、JVM1.5への対応、helperクラスの改修、スピードアップ化が行われたようです。基本的にはJCoはNCoと比べるととてもシンプルで、内部はJNIによるRFCライブラリを呼び出しているだけ、Wizardはついておらず接続のためのhelperクラスをいくつか用意し、あとはガイドラインを提供しているだけです。


逆にNCoみたいなWizardはSAPが提供するEclipseベースIDEのNetWeaver Developer Studioで提供されています。


で、JCo3.0なのですが、2.0と比べてちょっとhelperクラスの使い方に癖があります。よく言えばより細かく制御できるようになったということです。開発の話です。ということでそこらへんを次回書きたいと思います。