システムのリソースを柔軟に増やすことができ、従来にない拡張性を実現できるクラウド技術。その特性を生かすには、独特の設計ノウハウが必要です。 そこでここでは、さまざまなクラウド技術の設計ノウハウを、「デザインパターン」としてまとめます。各種のクラウド技術の制約をうまく回避し、性能を引き出す技や、パブリッククラウドでのコスト削減術を、設計のパターンとして示します。 Force.com編 Windows Azure Platform編 Google App Engine編
![クラウド設計のデザインパターン](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)
appengine ja night#14にて、AppEngine MapReduceと大量データ処理についてお話しさせて頂きました。 speakerdeck.com Task ChainやQuery Chainの基礎的な話、AppEngine Mapperの仕組みについて解説しました。事例紹介などの派手なお話はできませんでしたが、何かお役に立ちましたら幸いです。間違いなどありましたらご指摘頂ければと思います。 スライドの下部に関連するURLもしくはFQCNを貼り付けてありますので、参考にどうぞ。 Scatterプロパティについて http://code.google.com/p/appengine-mapreduce/wiki/ScatterPropertyImplementation 補足:Scatterプロパティは0.8%の割合で付加されると記述されていますが、いくつかのカインドで実
App Engineによる設計手法でひとつ私が実案件で試してなかなかうまくいったと思ったのは、「Smalltable」って私が勝手に呼んでいるアーキテクチャです。簡単にいうと、「複数クライアントのローカルのSQLite間をDatastoreを介して同期する」仕組みです(こういうの一般に何パターンと言うのでしょう…教えてください!)。 クライアントはHTML5やAIR、iPhone、Android等のリッチクライアントで(実際に実装したのはAIRとiPhoneです)、SQLite等の小規模RDB(以下、Smalltable)をローカルに持つことが前提 Smalltableは、Datastoreが保持するすべてのデータのうち、そのユーザーが常時使用するデータのみ保持するサブセット アプリケーションの大半のロジックをリッチクライアント内のSmalltableだけで実装する すべてのレコードにはク
App Engineで大量のデータを並列処理するフレームワーク ElShard を作っています。batch addとdeleteのサンプルができたので、とりあえずまとめてみます。 ElShardは、入力リストを分割して処理して集約する考え方に基づいています。並列処理はApp EngineのTaskQueueで実現しています。タスク間では10kBのペイロードしかやり取りできないため、データをやり取りする用途には適していません。そのため、実際のデータはDatastoreに格納しておき、キーをタスク間でやり取りすることになります。 現段階では集約をどうやって実現するか未定ですが、キーでソートされるというDatastoreの性質をうまく利用できる気がします。Matcher APIが使えるといいなぁ。 リストを処理する ElShardでは、InputとTaskの2種類のタスクを組み合わせてジョブネッ
はじめに Flex/AIR開発には、ところどころに「落とし穴」があります。過去3年間のFlex/AIR開発を通じて、筆者はそうした「落とし穴」にことごとくハマり、そのたびに「二度と繰り返すまい」との思いで要点をメモしてきました。本連載では、その筆者の「Flex/AIRハマり帳」をもとに、これからFlex/AIR開発を始める方が同じ過ちを繰り返さないためのささやかなtipsを紹介していきたいと思います(なお、ここで紹介するtipsは、あくまで筆者の経験に基づいて得られたものであり、アドビシステムズの公式な提供情報ではないことにご留意ください)。 Google App Engine for Javaと「ご都合.com」 第1回は、つい最近のメモからです。この連休中に筆者は、「Google App Engine for Java(GAE/J)とFlexでスケジュール共有ツールを作る」ことを思い立
This document provides instructions for creating a Grails application to manage event data using a Google App Engine backend datastore. It demonstrates creating Event domain classes and controllers, installing plugins for calendar integration and CSS styling, configuring the App Engine plugin and datastore indexes, deploying the application to App Engine, and performing basic CRUD operations on Ev
もちろん来年も夏にやるから2009ってついてるわけで!? まあ、とにかく参加した皆様おつかれさまでした。 参加できなかった皆様にも、サイトが準備されています。 http://groups.google.co.jp/group/jggug-summer-2009 そして、ネタに使われて実況もしていた。Twitterもあります。 http://twitter.com/jggugsummer2009 そして自分の発表内容 「G* on GAE/J 挑戦編」はこんな感じです。 おしながき 第壱幕 Grailsでアプリ作ってみよう(1.2M2) http://grails.jp/sample/grails_eventer.zip 第弐幕 GrailsでGAE/J ソース:http://grails.jp/sample/gae_eventer.zip サイト:http://jggugv4.appspo
はじめに Googleのインフラで実行されるクラウドサービス Google App Engineが2009年4月7日にJavaに対応しました。Javaエンジニアにも利用できるようになった、Google App Engineを一緒に勉強して行きましょう! 今回は、Google App Engine上から簡単にメールの送信ができる「Mail Java API」を勉強したいと思います。 対象読者 ウェブサービス開発に興味のあるJavaエンジニア Google App Engine for Javaに興味がある方 必要な環境 「Google Plugin for Eclipse」がインストールされている、Eclipse 3.3(Europa)か3.4(Ganymede) 開発環境の構築手順については、第1回の解説を参照してください。 Mail Java APIとは? Google App Engi
http://riaspringblaze.appspot.com https://riaspringblaze.appspot.com Hello!I added a simple messaging test drive to existing flex PoC app, this time I updated Spring version from 2.5.5 to 3.0.0M2 and from flexM1 to flex-1.0.0.RC1 with my already existing 'slight-hacked' core.jar from my previous blog , it went pretty well and here are the results: Note that Spring changed @ web-application-config.
ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで本稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です
This is the third post in a series detailing information about the newly announced Google App Engine support for Java. In this post I thought I’d go through the steps you need to take to get a JRuby on Rails application working on GAE/J, and also what kind of characteristics you should expect from your application. You need a fairly new copy of JRuby. Most of the changes needed to JRuby was added
== Welcome to Rails Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Control pattern. This pattern splits the view (also called the presentation) into "dumb" templates that are primarily responsible for inserting pre-built data in between HTML tags. The model contains the "smart" domain objects (such as Acco
AjaxなどによってRIA(リッチ・インターネット・アプリケーション)が発展したとは言え、Flashに比べるとまだ足りない部分があるかも知れない。Google App EngineではGoogle製ということもあってシンプルな画面のWebアプリケーションが多い気がするが、もっとRIAに力を入れれば可能性が飛躍的に向上しそうだ。 画像のアップロードや入力時にチェックを行うサンプル とは言えどうすれば良いだろうか。その鍵になるのがPythonでAMF実装を行うPyAMF、そしてFlash and Flex on Google App Engineだ。 今回紹介するオープンソース・ソフトウェアはFlash and Flex on Google App Engine、Google App EngineでFlash/Flexを利用可能にするフレームワークだ。 Flash and Flex on Go
はじめに クラウド・コンピューティング開発環境であるGoogle App Engine(GAE) for Javaがリリースされましたので、早速Curlと連携してみましょう。 今回は、CurlとJavaを簡単に連携し、高速通信を実現する日本発オープンソース・ツールのCurl ORB for javaを用いて検証したいと思います。 手順 CurlとGoogle App Engineの連携は、以下の手順で実施していきます。 サーバサイド Google App Engine SDKインストール プロジェクトの作成 Curl ORBセットアップ Spring Frameworkセットアップ ライブラリ登録 各種設定ファイル(applicationContext.xml、web.xml、curl-access.txt)の設定 Google App EngineのDataStore機能を利用したサービ
最低限のpomを記載しておく。ポイントは”datanucleus-appengine"と"datanucleus-core"のscopeをruntimeにしておく事。こいつらがビルド時に取り込まれてしまうとmaven-datanucleus-pluginでのエンハンス中にエラー停止してしまう。 先のエントリで書いた単体試験の内容で、$ mvn clean testしてテストが通る事を確認できるはずだ。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.x
Google App Engine(以下GAE)がJavaに対応してから、その衝撃的サービス内容から 「これはパラダイムシフトであり、破壊的イノベーションなのではないか」と論議されるようになった。 クラウドはとっくにバズワードではない。そして、 クラウド型のアプリケーション提供方式は、間違いなくパラダイムシフトだと断言する。 ただし、既存のものに急に取って代わるという破壊的イノベーションではないと考えている。 RDBなどは必ず生き残り役割分担の選択肢となる。いままでのインハウス型プロジェクトもなくならない。 しかし、1〜2年で開始するプロジェクトは、もう.NET or Javaといってプラットフォームを選択するまえに、アプリケーション提供形式としてインハウス or クラウドを選ぶ時代になるだろう。 管理コスト面、初期コスト面ともに優れたクラウドという選択肢が提供できない提案・企画は駆逐され
GAE/Jで利用できるJREのクラス一覧。 JRE クラスのホワイト リスト - Google App Engine — Google Developers GAE/Jで利用できる各種言語や仕様、フレームワーク一覧。 Google App Engine for Java | Google Groups 簡単に抜粋。 言語はScalaやJythonも使える。 Languages JRuby Groovy Scala JavaScript (Rhino) Jython BeanShell JDBCは使えない。JPAでアクセスする。 Java Enterprise Edition (Java EE) Servlets Support for version 2.4, including HTTPS. Java Persistence API (JPA) JSF 1.1 seems to be w
JJUG CCC Springに本日行って参りました。 はっきり言って大変参考になりました。心底面白かったです。発表者の皆さん、JJUGの幹事/運営の皆さまありがとうございました。 以下、聴講させていただいた幾つかのセッションについてメモを書いたのでおいておきます。正確ではないことに加え、脳内補完してるので、発表内容と異なる可能性があります。あしからずご了承ください。 あと、都合にて午前中のセッションは聞けませんでした。残念。基調講演も聞きたかったのにー。 Agileモデリング for Cloud/浅海さん GAE上でスケールするWebアプリを書くには/サイオステクノロジー松尾さん Slim3 for GAE/J ひがさん Grailsでシステムを作る感覚/山田さん 全体感想
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く