Cast Iron with Google’s SDC attempts to simplify integration with Google Apps

google-castiron1

Cast Iron Systems provides integration services between enterprises and various on demand services. The integration process offered by Cast Iron uses pre configured templates for integrating with on demand services resulting in benefits such as lower costs of integration, faster time to market and simple management among others.

Cast Iron provides straight out of box support for Google’s Secure Data Connector (SDC) to integrate Google Apps, Google App Engine and Google Sites with enterprise data that can be made available from repositories such as ERP, CRM and SaaS applications among others. The straight out of box support might push the adoption of SDC in enterprises. Cast Iron for Google Apps is offered as an appliance, SaaS (cloud) offering and virtual appliance.

Related article(s) of possible interest:

The value proposition of SaaS Integrators

Overview of Java support in Google App Engine

What you cannot do using Java in Google App Engine

What you cannot do using Java in Google App Engine

1. Cannot write to the filesystem. Must use Data Store for persistence.

2. Cannot open a socket or access another host directly.

3. Cannot spawn a sub-process or thread.

4. Cannot make other kinds of system calls.

5. Cannot create a new java.lang.ThreadGroup nor a new java.lang.Thread. However, operations against the current thread, such as Thread.currentThread().dumpStack() is allowed.

6. The features of the java.lang.System class that do not apply to App Engine are disabled.

7. The System methods such as: exit(), gc(), runFinalization() and runFinalizersOnExit() do nothing.

8. Cannot directly invoke JNI code

9. Application is allowed full, unrestricted, reflective access to its own and JRE classes. However, An application cannot reflect against any other classes not belonging to itself, and it can not use the setAccessible() method to circumvent these restrictions.

Related Post: Overview of Google App Engine for Java

Overview of Java support in Google App Engine

Google App Engine now supports Java. This posting provides a high level overview of Google App Engine for Java.

gae-1

1.    What is Google App Engine?

Google App Engine is offered as a Platform as a Service (PaaS) where one can develop applications and run it in Google’s infrastructure. The value proposition is the easy implementation, no servers to maintain, easy to scale and easy maintenance.

2.    Services

Google App Engine now supports Java 1.6 and 1.5 and exposes several services via Java API which are listed below:

a.    URL Fetch Service

  • Access data over Internet: Provides the ability for applications to fetch resources and communicate with other hosts over the internet using HTTP and HTTPS requests.
  • Access data behind your Corporate Firewall: Is made possible using Google Secure Data Connector (SDC) service. Basically SDC enables data encryption exchanged between Google Apps domain or your application running on Google App Engine and your corporate network by wrapping the data in socks protocol and encrypting it.

b.    Mail Service

Provides the ability for applications to send email messages using Java Mail API on behalf of application’ administrator or as users with Google accounts.

c.    Cache Service

A distributed in-memory data cache exposed as Memcache API by implementing JCache.

d.    Image Manipulation Service

This service provides the ability to manipulate image data such as resize images or rotate, flip, and crop images. It can also enhance photographs using a predefined algorithm.

e.    Task Scheduling (Cron) Service

Allows you to configure regularly scheduled tasks that operate at defined times or regular intervals.

f.    Google Account Service

Integration between Google App Engine and this account service is an optional feature in App Engine. This service enables an application to authenticate users with Google Accounts.

3.    Persisting Data

App Engine exposes access to the data store via JDO and JPA implemented by the open source Data Nucleus Access platform.

4.    Development and tooling

The App Engine software development kits (SDK) for Java includes the following:

  • A web application and a web server that emulates all App Engine services on your local development machine.
  • The SDK includes all the APIs and libraries available on App Engine.
  • The SDK includes support to upload your application to App Engine.
  • Eclipse IDE is supported for developing App Engine applications through Google Plugin for Eclipse.

5.    Logging

Applications can write information to the log files using java.util.logging.Logger. Log data for an application can be viewed and analyzed using the Administration Console, or downloaded using appcfg.sh request_logs.

6.    Configuration and Deployment

  • Configuration files include the standard Java Web Deployment descriptor web.xml, an App Engine specific file called appengine-web.xml that contains the deployment and execution details of the application.
  • Then upload the application using App Engine Admin console or Eclipse or through command prompt.
  • Register the application using Admin Console (requires Google Account) and specify a  id for your application
  • If you use the free domain appspot.com then the access URL for your application would be app-id.appspot.com

7.    Quotas and Limits

An App Engine application can consume resources up to certain maximums, or quotas. With quotas, App Engine ensures that your application won’t exceed your budget, and that other applications running on App Engine won’t impact the performance of your app. A sample quota for HTTP(s) request is shown below (image courtesy: Google). Quotas are applicable to various other requests such as to data store, email messages and their details are available here. There are some things that you cannot do using the Java API for Google App Engine listed here.

google quotas

Brief Overview of HP Cloud Assure services

HP Cloud Assure is offered as a turnkey solution providing three services:

·         Cloud Security provides end to end solution for performing security risk assessments to detect and correct security issues.

·         Cloud Performance offers application testing service and also lets business the experience perceived by the users. (via synthetic monitoring)

·         Cloud Availability (CA) provides visibility into service uptime and availability with business analytics enabled. CA also enables to isolate problems and detect root causes.

 

How it works?

·         Contact HP Tech. Account Manager (TAM)

·         TAM/HP Engineers gather info about your service

·         HP SaaS team configures security, availability & performance services

·         Services include availability dashboard, performance reporting & incident detection/alerting

 

Market Impact:

HP Cloud Assure competes directly with:

      Performance testing services such as SOASTA, BrowserMob and Keynote Systems

      Security SaaS such as Qualys, Panda Security among others

      Cloud Availability service from vendors such as AdventNet.

Sun Microsystems rejects IBM’s acquisition offer

Wall Street Journal reports “Sun’s board rejected a formal acquisition offer by IBM on Saturday, sending a notice terminating Sun’s agreement to negotiate exclusively with IBM. IBM on Sunday withdrew its offer to buy Sun, said a person informed about the situation.”

Keynote, a cloud performance management solution is on fire

Forrester rates Keynote Systems is on fire. The complete report is available here. See my write up on Keynote vs. SOASTA here.

An on premise PaaS offering would provide better cloud control

Longjump, a PaaS offering to build applications (see our earlier coverage on the PaaS players here) announced an on premise version of its software last week. The company cites lack of cloud control reasons for enterprises to try out their software on premise. By cloud control, I mean gaining visibility and governance supporting compliance (typically legal), and audit requirements. (See overview of Longjump below - image courtesy: Longjump)

longjump-model

Companies who need to know the location of their customer’s data may not really know where their data is when using a cloud provider, unless this was found and put in writing during the initial talks. Data that is used less frequently may also be backed up in data centers that are globally distributed where regulations change per region. Such issues can be compounded when using a cloud storage provider. While the on premise offering negates the benefits derived from a multi tenant environment, however, is a right move from a governance view point in the absense of a legal framework on adequate controls in cloud environments.