Pharo Smalltalkでクラウドサービスを操作してみる
Smalltalk Advent Calendar 2014最後はSmalltalkでクラウドサービスを操作してみます。今回はAmazon Web Servicesを操作してみます。また、クリスマスプレゼントとは言えないかもしれませんが、現在作成中のSDKの一部を公開します。SDKを作り始めたころは初めてAWS自体もEC2、S3ぐらいしか知らなかった私でしたが、公式ドキュメントを読みながらAWSのNoSQLデータベースサービスDynamoDBと接続しました。
制作した経緯
- 自社クラウドサービスのプロトタイプ早急に作成する必要があった
- 仕様変更に柔軟に対応できるSmalltalkで作った
- AWSの公式SDKはSmalltalk版が存在していなかった
Smalltalkのダイナミックな開発環境のおかげでなんとか無事サービスイン。今も改良をし続けております。Smalltalkに何か還元すべきだと考え、公開することにしました。仕事を作成したものはサービスに特化させて作ってしまっため、業務外の時間を使って切り出して一般公開できるものを準備しました(いずれはSDK全てを公開します)。
公開して期待したいこと
Smalltalkerが増えること。特に日本のSmalltalker。 あと私が英語が苦手(というかできないため)。心優しい方が翻訳していただけることを期待。私の来年の最大の課題です。
インストール
Gofer new
url:'http://smalltalkhub.com/mc/newapplesho/aws-sdk-smalltalk/main';
package: 'ConfigurationOfAWS';
load.
(Smalltalk at: #ConfigurationOfAWS) load.
#使い方等
slideshareで公開しました。
http://www.slideshare.net/newapplesho/aws-sdk-for-smalltalk
今後について
DynamoDBの改良版、S3, EC2, Elastic Transcoderを公開予定。またEC2を操作するための証明書Signature V2も公開予定。ただし、業務外で作成しているかつ、AWSを色々いじるための時間と私のポケットマネーとの相談しながら作成していきます。
#まとめ
あるきっかけで始まったSmalltalk Advent Calendar 2014でしたが、ほぼ毎日Smalltalkネタが公開されSmalltalkerの私としてはとてもいい月だったと思います。発起人の私自身が忙しい理由に更新が遅れてしまい申し訳ありませんでした。 「Smalltalkって何?」って言われ続けたり、「どこがいいの?」と言われ続けることが多いですが、今回のAdvent Calendarを通じて少しでもSmalltalkの良さや実用性について分かっていただければよいと思っております。来年もチャンスがあればこういったイベントをやってみようと思います。では。
#参考
AWS SDK for Smalltalk
https://github.com/newapplesho/aws-sdk-smalltalk
AWS SDK for Smalltalk - slideshare
http://www.slideshare.net/newapplesho/aws-sdk-for-smalltalk
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
http://www.slideshare.net/newapplesho/20140925smalltalk-study
愛せよ、さもなくば捨てよ。
http://www.slideshare.net/newapplesho/ss-42024412
DynamoDB
http://aws.amazon.com/jp/dynamodb/
Signing AWS API Requests
http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html
DynamoDB Local
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html
DynamoDB Local for Desktop Development
http://aws.amazon.com/jp/blogs/aws/dynamodb-local-for-desktop-development/
DynamoDB API Reference
http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/Welcome.html