Skip to main content

Home/ Cloud Computing/ Group items tagged API

Rss Feed Group items tagged

Toshiro Shimura

第1回 そもそもGoogle Gearsって何?:ITpro - 0 views

  • 公式ページには,とても少ない説明の中にGoogle Gearsの特徴3点が紹介されています。対訳をつけてみます。 Store and serve application resources locally ローカルにアプリケーション・リソースとデータを保持して実行します Store data locally in a fully-searchable relational database ローカル・データは完全な検索機能を持つリレーショナル・データベースに保存されます Run asynchronous JavaScript to improve application responsiveness Javascriptは非同期に実行され,更新の必要に応じてアプリケーションと通信します  この解説は今までの説明で述べてきたものと変わりありません。特に詳説は必要ないでしょう。この三つの概念が以下のように,それぞれAPIグループとして実装されています。 ローカル・サーバー(LocalServer) データベース(Database) ワーカープール(WorkerPool)
  • アプリケーションがデータの入出力を必要とする場合,データはデータベースに格納されます。Google Gearsを導入した段階で,ローカルマシンの中にデータベースが作成されるわけです。このデータベースを操作するのが「Database」API群になります。データベースが導入されるといっても,MySQLやPostgreSQLのように巨大な物がインストールされるわけではありません。  このデータベースの実体は,SQLiteです。SQLiteはアプリケーションに組み込んで使用されるのを目的とした軽量なデータベース・エンジンです。データベース・サーバーにつきもののユーザーのような概念がなく,データの出し入れを主眼としてシンプルに設計されています。SQLiteは日本語2バイト文字も通ります。
  • 最後の「WorkerPool」は,インターネット上のコンテンツをローカルにキャッシュするコントロールを担当します。ローカル側サーバー機能という言い方もできそうです。Poolの名前の通り,まさに貯め込んでおくという感じです。言葉で説明することは難しいので,WorkerPoolについては後半のサンプルも眺めながら確認してください。  なお上記の三つのAPI群のほかにいくつかのAPI群があります。一つは「Factory」です。FactoryはGoogle GearsのコアとなるAPIで,LocalServer,Database,WorkerPoolのインスタンスを作成するのに使用されます。
  • ...2 more annotations...
  • 2007年8月末にGoogle Gearsはバージョンが0.2に上がり,「Timer」と「HttpRequest」が追加されました。Timerは文字通りタイマー管理をするAPI群です。一定間隔で処理を行いたい場合に使用します。タイマー機能そのものはJavaScript本体にもあります。Google GearsのTimer機能も書式はJavaScriptのタイマーと同じになっています。Google GearsのTimerはローカルにキャッシュしたコンテンツ(WorkerPool)に対しても,メインのHTMLに対しても利用可能だと説明されています。  「HttpRequest」は自身以外のコンテンツに対してHTTPヘッダ,あるいはデータを送信し結果を受信することができるAPI群です。機能と名前からも想像できるようにDOM/AjaxのサンプルとしてよくでてくるXMLHttpRequestのGoogle Gears版といえます。HttpRequestもTimer同様にベースになったXMLHttpRequestと書式,関数,プロパティがほぼ共通です。
  •  Google Gearsはオフラインで動作しなくてはならないため,サーバー側の処理には頼れません。そこで,処理動作をローカルのブラウザだけで完結できるようにするために,処理言語としてJava Scriptを使用します。Java ScriptはローカルのPC側に処理エンジンがあり,オフラインであっても動作します。  このシステム全体をGoogleはBSDライセンスとして公開すると宣言しました。私たちは「このシステムはGoogle Gearsを使っている。著作権はGoogleにある」と著作権明記さえすれば,自由に使用できます。業務か趣味かを問わず,Webアプリケーションを作成しているプログラマにとって,Google Gearsは何かしらの意識革命を引き起こしえる存在に感じられます。つまりGoogle Gearsはそれ自体がGoogleマップやYoutubeのように直接ユーザーに何か便利なサービスを与えるというサービスではなく,ユーザー向けにWebアプリケーションを作成しているプログラマに対しての技術サービスだというわけです。
serverless360

Azure API Apps Monitoring and Management | Serverless360 - 0 views

  •  
    Serverless360 offers Azure API Apps Monitoring and Management to monitor the health, performance, memory consumption and state.
Stian Danenbarger

Marc Andreessen: "The three kinds of platforms you meet on the Internet" (2007, retriev... - 1 views

  • Ning within our platform provides a whole suite of APIs for easily building social networking applications; Salesforce within its platform provides a whole suite of APIs for easily building enterprise applications; Second Life within its platform provides a whole suite of APIs for easy building objects that live and interact within Second Life. EC2, at least for now, has no such ambitions, and is content to be more of a generic hosting environment.
  • Akamai, coming from a completely different angle, is tackling a lot of the technical requirements of a Level 3 Internet platform in their "EdgeComputing" service -- which lets their customers upload Java code into Akamai's systems.
  • Amazon's FPS -- Flexible Payments Service -- is itself a Level 3 Internet platform.
  • ...1 more annotation...
  • I think that kids coming out of college over the next several years are going to wonder why anyone ever built apps for anything other than "the cloud" -- the Internet -- and, ultimately, why they did so with anything other than the kinds of Level 3 platforms that we as an industry are going to build over the next several years -- just like they already wonder why anyone runs any software that you can't get to through a browser.
  •  
    "This post is my attempt to disentangle and examine the topic of "Internet platform" in detail. I will go at it by identifying three distinct approaches to providing an Internet platform, and project forward on where I think each of the three approaches will go. At best, I might be able to help make a new landscape clear. At worst, hopefully I can at least provide one framework for future discussion."
DJHell .

OpenSocial in the Cloud - OpenSocial - 0 views

  • Apps can grow especially fast on social networks, so before you launch your next social app, you should think about how to scale up quickly if your app takes off.
  • Unfortunately, scaling is a complex problem that's hard to solve quickly and expensive to implement.
  • If this app grows to serve millions of users and photos, shared hosting or even a dedicated server won't have the bandwidth or CPU cycles to handle all of the requests. We could invest in more servers and network infrastructure, shard the database, and load-balance requests, but that takes time, money, and expertise. If you'd rather work on the new features of the app, it's time to move into the cloud.
  • ...9 more annotations...
  • It's important to focus on the interactions between the app and your server when designing an application that will run in the cloud. If we standardize the communication protocol and data format, we can easily change the server side implementation without modifying the OpenSocial app.
  • You can configure the makeRequest method to digitally sign the requests your app makes to your server using OAuth's algorithm for parameter signing. This means that when your server receives a request, it can verify that the request came from your application hosted in a specific container. To implement this, the calls to makeRequest in the OpenSocial app spec XML specify that the request should be signed, and the code that handles requests on the server side verifies that a signature is included and valid
  • When our server receives a request, we can verify that it came from our application by checking that the digital signature was signed by a valid container and that the application ID is correct.
  • Since our server isn't storing any relationship data, the app will need to send us a list of user IDs so we can fetch the appropriate photos.
  • Although it's outside the scope of this article, we could provide a mechanism for our OpenSocial app to request a one-time-use token that it would include in the request to upload a photo.
  • Note that the post data is URL-encoded in the request so the post method uses urllib.unquote before splitting the comma-separated list of person IDs.
  • Since the server doesn't store any relationship data, the PhotosHandler class checks the post data of the request for a list of IDs from the container.
  • A common misconception when coding in the cloud is that storage space, CPU cycles, and bandwidth are unlimited. While the cloud hosting provider can, in theory, provide all the resources your app needs, hosting in the cloud ain't free so these resources are limited by your budget. Luckily, OpenSocial provides several mechanisms to cache images and data that will reduce the load on your server.
  • In addition to reducing traffic to our server, this technique has the added benefit of being fast—requesting data from the Persistence API is much faster than making the round trip to your server.
  •  
    Some OpenSocial apps can be written entirely with client-side JavaScript and HTML, leveraging the container to serve the page and store application data. In this case, the app can scale effortlessly because the only request hitting your server is for the gadget specification which is typically cached by the container anyway. However, there are lots of reasons to consider using your own server: * Allows you to write code in the programing language of your choice. * Puts you in control of how much application data you can store. * Lets you combine data from users on multiple social networks. * Enables interaction with the OpenSocial REST API. Setting up an OpenSocial app that uses a third party server is fairly simple. There are a few gotchas and caveats, but the real issues come up when your app becomes successful - serving millions of users and sending thousands of requests per second. Apps can grow especially fast on social networks, so before you launch your next social app, you should think about how to scale up quickly if your app takes off. Unfortunately, scaling is a complex problem that's hard to solve quickly and expensive to implement. Luckily, there are several companies that provide cloud computing resources-places you can store data or run processes on virtual machines. These computing solutions manage huge infrastructures so you can focus on your applications and let the "cloud" handle all the requests and data at scale. This tutorial focuses on a simple photo-sharing app that uses a third-party server to host photos and associated metadata. If this app is going to host millions of images and support many requests per second, we won't be able to run it on a single dedicated host. We'll break the app down and analyze the interactions between the OpenSocial App and the back end server. Then we'll implement the app in the cloud, first using Google App Engine, then leveraging Amazon's S3 data storage service. Finally, we'll look at s
Maluvia Haseltine

Twilio: Web Service API for Making and Receiving Phone Calls, building hosted IVR and P... - 0 views

  •  
    an in-cloud API for voice communications that leverages existing web development skills, resources and infrastructure.
Rich Hintz

InfoQ: Amazon Web Services: Building Blocks for True Internet Applications - 0 views

  •  
    presentation discusses how Amazon's Web Services can help Web developers solve common but vexing problems, including scaling. The Elastic Compute Cloud (EC2) and Simple DB are discussed in detail along with the Simple Queue, Simple Storage, and Flexible Payment Services. Each discussion covers basic concepts, example APIs, and brief introductions of case studies.
Erin Bothamley

Windstream's on-demand Cloud Storage is Ideal Solution for Any Business - 0 views

  •  
    Windstream's on-demand Cloud Storage solution supports businesses with key data storage, security and protection functions, including disaster recovery, data archiving, back-up/restore, replication, elastic capacity and data availability/security. Moreover, it allows you to adjust your storage capacity on demand via a web services API, making it the ideal solution for any business. Get a quote for Windstream Cloud Storage Service and get connected today.
Toshiro Shimura

Google Gearsの課題と可能性--アプリ開発の現場から:スペシャルレポート - CNET Japan - 0 views

  • Synkiはユーザーごとに細かく権限を設定でき、複数のWikiサイトを開設できる点が特徴だ。ワークスペースと呼ばれる作業スペースごとに権限を設定できる。もちろんオフラインでも使用でき、オンラインになった時点で最新の情報に同期される。  「Synkiは『Sync(同期)するWiki』という意味。Wikiは次世代CMSとして着目している。非常に生産性の高いツールで、仕事で利用するのに向いている。特に他人と共同作業をする場合に有効だ。社内ブログは、将来Wikiに置き換わっていくかもしれない。いずれはSynkiとGmailだけあれば仕事が完結するような環境を提供したい」  Wiki記法を知らない人でも利用しやすいように、リンクタグなどを自動的に埋め込むボタンを用意する。今後はタグを不要にするWYSIWYGに対応するほか、スプレッドシートの共有などができるようにする。また、企業が使いやすいテンプレートも用意する。
  • ほかの企業システムと連携しやすいよう、APIの公開も考えている。「Synkiはプラットフォームに過ぎないと考えている。ユーザーの権限設定ができるので社外の人とも利用できるし、社内のデータを外部に出さないようにもできる。組織がフラットな構造で、社外とのコミュニケーションが多い司法書士や弁護士、PR業などが最も向いているだろう。ただ、それぞれの企業が独自の使い方を追加できるようにしていきたい」
  • ここまで苦労してでもGoogle Gearsを採用した、その最大の魅力は何だったのか。朴氏は将来的に標準になるという可能性に賭けたと話す。また、開発したサービスをオープンソースとして公開することも視野に入れていたことから、Google Gearsがオープンソースであることは大きな後押しになったようだ。  「きちんとした製品を作り、ユーザーの支持を得てからオープンソース化しようと考えていた。Googleが専門部隊を持ち、オフライン機能に特化したモジュールを開発するのであればそちらを採用したほうがいいと思った」(朴氏)  自社でモジュールを開発したほうが楽だったのではないか、という意地悪な質問をしてみた。すると朴氏は、「自社でやったらもっと時間がかかったかもしれない」とした上で、「でもコードのリファレンスがなくて苦労したので、最終的には同じくらいかな」と笑った。
Toshiro Shimura

【レビュー】Wiki以上! 『Google Sites』は情報統合プラットフォームだ (3) Google Sitesならではの魅力はココ! | ネット ... - 0 views

  • ほかにもGoogleカレンダーを取り込んだり、Picasaの写真をスライドショーで表示、YouTube/Googleビデオの挿入といったこともできてしまう。iGoogleで提供されているガジェットも取り込み可能だ。Googleが提供する各種WebサービスをGoogle Sites内で簡単に利用できるというわけである。
  • Google Sitesは単なるWebサイト構築ツールじゃない! Google Sitesの魅力は、Googleの各サービスを使いこなしているとさらに強く感じることができる。スプレッドシートやカレンダーをリンクしておき、それを更新すればGoogle Sites側も自動更新されるといった具合だ。さらに言えば、既存のGoogleサービスのWeb APIを使ったライブラリやソフトウェア、同期ツールなどの類が相当数存在する。それらを活用すればGoogle Sitesは単なるWebサイト構築ツールではなく、コラボレーションを促進する情報統合プラットフォームにさえなりえるのだ。
Toshiro Shimura

「シン vs.ファット」―― MS Officeの牙城に切り込むGoogle Apps : Googleウォッチ - Computerworld.jp - 0 views

  • その好例がMicrosoft Officeだ。これほど広く普及しているにもかかわらず、ほとんどの人は「Word」「Excel」「PowerPoint」といったスタンドアロン・アプリケーションの単なる詰め合わせと考えている。しかし、Officeは、そうした単純なスイート製品にとどまらない。Officeは統合化された堅牢なAPI(VBA、OLEオートメーション、その他のアドイン・インタフェース)のおかげで、それ自体が商用ソフトウェア開発の有力なターゲットになっている。事実、Windows開発市場に参入する最も簡単な方法は、Microsoft Officeをターゲットにすることである。このスイートの機能を新しくしたり、強化したりするすぐれた製品を開発すれば、世界中の人々が売り場に殺到するだろう。
  • こうしたMicrosoftの相互補強戦略を崩壊させうる1つの力がWebである。ブラウザ・ベースのシン・クライアントとユビキタスな接続性の組み合わせは、Microsoftの支配力を奪いつつある。しかし同社は、愚鈍そうに見えて、実はこの脅威に敏感に反応しており、ここでも有効性が実証済みの囲い込みと拡張の戦略を推し進めている。いわばゆっくりとした足取りで、足早に逃げ回る獲物を追い詰めているわけだ。  まずは囲い込みだ。Googleや新興勢力のZoho(画面3)などの成功を見たMicrosoftは、写真共有やブログ・ツールといったコンシューマー向けのWindows Liveサービスや、契約管理、Webサイト設計といった中小企業向けのシン・クライアント型Office Liveサービスなどを投入して、積極的に反撃している。
  • 次に拡張だ。例によって、Microsoftは伝統的なデスクトップOSやアプリケーション・プラットフォームに新しいサービスを組み込み、Office LiveとWindows Liveサービスを拡張している。前述したOffice Live Workspacesや、「Windows Live Mail」(画面4)、「Windows Live Writer」(画面5)などは、どれも成長著しいLiveアプリケーション市場をターゲットとしたものだ。いずれもWindows仕様であり、Webとデスクトップの統合を実現する独自のハイブリッド・アーキテクチャを採用している。  さらにMicrosoftは、近い将来、アプリケーション仮想化を通してWord、Excel、PowerPointの全機能をシン・クライアントで提供し、ユビキタスな接続性を実現したいと考えており、高性能ファット・クライアントに残された他のアプリケーションについても、ストリーミング・サーバの大規模分散ネットワークでサポートしていく姿勢を見せている。  こうしたアプローチは非常に魅力的だ。Microsoftの最新のアプリケーションが低コスト、あるいはほとんどコスト・ゼロでデスクトップに配信されるようになれば、わざわざAjax(Asynchronous JavaScript+XML)アプリケーションを我慢して使う理由がなくなる。それはGoogleに困難な課題を突きつけるはずだ。
  • ...2 more annotations...
  • ただ、Microsoftの明確なミスと言えるものが1つある。それはVistaとOffice 2007に対するユーザーの冷めた反応だ。どちらの製品も当初約束していた機能を実現しておらず、デザインの不備や安定性の欠如がIT部門の仕事を増やしている。巨大なインストール・ベースのおかげで、Microsoftはなんとか面目を保っているにすぎないのだ。  さらに戦況を悪化させたミスとして、海賊版対策のキャンペーン展開が挙げられる。そこでとった過剰な措置が将来のWindowsユーザーを追い散らしていることに同社は気づいていない。問題は「WGA(正規Windows推奨プログラム)」にある。MicrosoftはWGAでアクティベート・プロセスとアクティベート・ステータスの管理を複雑にしてしまい、結果的に新規ユーザー獲得の障害となってしまっている。実際に筆者が体験したケースでも、WGAが原因のエラーによって、システムに問題が生じて機能が低下したり、デスクトップが完全にロック・アウトしたりしたことがあった。
  • Windowsに関するもう1つの弱点は、仮想化に関するものだ。Microsoftは近い将来、同社のアプリケーション仮想化技術「SoftGrid」を活用して、主要なアプリケーションの全機能を月次または四半期ごとのサブスクリプション・モデルで提供する見込みだが、もしMicrosoftがこの方式を採用すれば、ホスティング型のアプリケーション配信が可能となり、Googleなどのシン・クライアント陣営を結果的に助けてしまうことになる。その場合、MicrosoftはGoogleよりも安価ですぐれたサービスで勝負しなければならなくなる。  もしMicrosoftが攻撃的な価格でOffice製品群のストリーミング・バージョンを提供すれば、おそらくGoogleに勝つことができるだろう。だが、欲を出して既存の収入チャネルの保護に走るようであれば、ユーザーは一斉に“仮想Office”ソリューションではなく、Google Appsなどの代替製品の採用を積極的に検討し始めるだろう。  また、Googleが現行のサービスを強化し、新たなISVコミュニティを構築するとともに、Microsoftが今後も製品のアクティベーションに厳格な制約を課し続け、今後投入するサブスクリプションの価格設定でミスを犯せば、Microsoftの市場支配力と伝統的なファット・クライアント型のコンピューティング・モデルが大きく揺らぐのはまちがいない。
DJHell .

Google App Engine for Java: Part 1: Rev it up! - 4 views

  • Remember when Google App Engine was just for Pythonistas? Those were some dark days. Google Inc. opened up its cloud-computing platform to Java™ developers in April 2009. In this three-part article series, Java technology author and trainer Rick Hightower gets you started with this reliable, robust, and fun platform for Java-based development. In this article, you'll get an overview of why Google App Engine for Java could be the deployment platform for your next highly scalable killer app, then start using the Google Plugin for Eclipse to build two example apps: one based on Google Web Toolkit (GWT) and one based on the Java Servlet API. You'll learn for yourself what a difference Google App Engine for Java makes, both in building out an application from scratch and in deploying it to the tune of up to five million views. (And that's just the free version.)
Aspire SoftServ

How to Develop AI Medical Transcription Software: Costs, Process, and Benefits - 0 views

The process of creating medical transcriptions has traditionally been manual, time-consuming, and prone to errors. With increasing volumes of patient data, this approach often results in misinterpr...

#aidevelopmentcompany #aidevelopmentservices

started by Aspire SoftServ on 26 Nov 24 no follow-up yet
1 - 13 of 13
Showing 20 items per page