I recently completed a project for a major wireless carrier and have a few days to spend on research and self-study before my next consulting assignment.

For previous projects, I had used RackSpace.com to quickly provision development and testing servers, but I hadn’t had the opportunity to create and deploy applications into one of the platform-as-a-service (PaaS) offerings.  However, Rackspace is just an infrastructure-as-a-service (IaaS) provider and does not provide the application development “ecosystem” to allow a developer to simply build a deploy an app without having to first configure frameworks, databases, messaging solutions, networks and storage first.

Having followed the VMWare/CloudFoundry/Pivotal developments closely over the last few months, I thought I would start with CloudFoundry and then do something similar with the Google App Engine.

CloudFoundry:

  • Signup was simple.  I chose to install both the SpringSource Tool Suite (STS) as well as the MicroCloudFoundry server instance that supports complete standalone development and deployment without having a connection to the public cloud.
  • I registered my “app ID” and received the URL for my site.
  • Following one of the available tutorials, I quickly created a Grails- and MySQL-based web app and deployed it to the public cloud.  The app wasn’t much more than a hello world to start with, but following the tutorial, I quickly added functionality to display a list.
  • The next steap was to create a separate project for a RESTful API that could be consumed by the web app.  That also went fairly smoothly minus the occasional typo and pretty soon, I had a second project deployed to the public cloud that would return a JSON document in response to a  URL query (RESTful API call)
  • The final step was to rewire the web app to get its list of things from the RESTful API rather than a static list and redeploy it.  Using the Sencha javascript library to provide for a mobile web UI experience, my app was, if not quite native, at least mobile-centric and accessible from my iPhone.
  • For a future enhancement, I’d like to use PhoneGap to render native mobile apps for iOS and Android
  • Getting Started Link:  here
  • Tutorial Link: here

GoogleAppEngine (AppSpot):

  • My tutorial for GoogleAppEngine was much more simplistic, but still was sufficient to demonstrate deploying a new app to the public clould.
  • I downloaded the MacOS version of the AppEngine API and configured Eclipse to use it for Google AppEngine projects.
  • Using Eclipse, I modified a provided starting application called GuestBook and deployed it to Google’s cloud.  The application was accessible using a URL of my-app-name.appspot.com.
  • GoogleAppEngine provides a dashboard showing numerous statistics for application usage
  • Language support was limited to Python, GO and Java and supposedly the Java support is scaled back.
  • Getting Started Link:  https://developers.google.com/appengine/docs/whatisgoogleappengine

I also looked briefly at the Oracle Cloud PaaS, but only got as far as configuring some of the predefined “apps” in the database service.  I’ll take a crack at deploying a custom-developed app as time permits.

In summary, both  CloudFoundry and Google’s AppEngine allowed me to quickly develop a simple app that leveraged the capabilities of the PaaS provider.  CloudFoundry’s choices of available technologies seemed more familiar to me as an enterprise-class application architect, but both would certainly get the job done.

Google provided a nice set of metrics for monitoring application use and performance out of the box, while this was only available in CloudFoundry’s MicroCloudFoundry component.

Comments No Comments »

The Internet of Things (IOT) is a computing concept that refers to a massively interconnected future state in which everyday objects will be connected to the internet and to each other.  Even with today’s early stage machine-to-machine (M2M) endeavors involving smart electricity meters or vehicle telematics, we are a long way from this future IOT state.  Even in the most modern of homes, today’s refrigerators and dishwashers don’t talk to one another or to their owner’s smart phones to remind them to pick up milk or dishwasher detergent.

The-Internet-of-Things-Infographic

However, IOT, got a pretty big boost today with GE’s $105 million investment in Pivotal.  You see, GE makes lots of things that are already instrumented with sensors that collect massive amounts of data as they operate.  A surprising amount of today’s Pivotal launch event was devoted to discussing use cases involving GE-made products such as airplane engines and wind turbines.  The main point seemed to be that doing useful things with the massive amounts of data gathered by these things (or at least the sensors attached to these things) requires a radically different software and application architecture.  Pivotal and its upcoming PivotalOne offering will attempt to provide an application development platform that can not only ingest these massive data quantities (using GemFire) but can also wring meaning and useful business intelligence from them in order to enable realtime responses.

One interesting example cited was that, on average, a single Boeing 777 produces over 30TB of sensor data on a single transatlantic flight!  A large wireless carrier I know of processes over 4 billion billable events per day and those are just summary records of the activity that is really happening in the network when consumers use data, send texts or make calls.

So, 113-year old GE appears to be making a bet on the upstart Pivotal in part to focus on building a series of product offerings to help its customers leverage the massive data quantities that GE’s things generate.  GE not only wants to make money from selling the things and the sensors monitoring the things, but also on the intelligence that can be derived using Pivotal’s software architectures from the data that the things generate.

 

 

Note:  Image source: http://www.kurzweilai.net/

Comments No Comments »

Just like Spring here in Colorado this year, it seems like the official public launch of the new Pivotal initiative would never get here!  Now, why, you say, would normal people live in a place where spring-like weather is still nowhere to be found on April 24th?  Or maybe a better question, is why I’m actually tracking the launch of Paul Maritz’s latest endeavor so closely?

As to the first, we love living here in Colorado despite the occasional delayed Spring the 300 days of sunshine and gorgeous surroundings are in addition to the great business climate and fantastic people.

Regarding Pivotal, I suppose its launch has caught my attention because of my current focus on helping companies modernize apps and databases for cloud or burst-to-cloud deployments and because Gemfire happens to be part of the suite of products moving from VMWare / SpringSource into Pivotal.

Paul Maritz at the Pivotal Launch

Paul Maritz at the Pivotal Launch

One new bit of news this morning prior to the launch itself was that GE was going to pour $105 million into the new company, taking a 10% ownership stake.  ”With GE aboard, EMC will own 62 percent; VMware 28 percent and GE 10 percent, according to a Pivotal spokesperson.”   Its not yet clear how the GE investment will play out, but having another big name added to the ownership stake will certainly add to the confidence that Pivotal hopes its new customers will draw from a child of EMC and VMWare.

Comments No Comments »

Originally posted Tuesday, June 08, 2004

Literally, a pain in the neck

The brain damage required to expose IS Flow services as document literal or Soap Message style web services is in sharp contrast to the ease with which you can create Soap RPC web services using Integration Server.

I generally recommend using document literal web services to my clients because they offer more explicit control over error generation, ability to validate the schema(s) associated with the soap messages before processing its payload and the ability to log the raw soap messages received from the business partner or internal customer.

However, the work required to create and test the wrapper services that extract and validate the soap body elements, convert the body into the correct inputs for the “wrapped” service and then map the outputs of that service (or exceptions it throws) into a valid soap response is far beyond what is reasonable to expect developers to do these days.

I’ve toyed with the idea of creating a few utility services to make creating the wrapper service much, much easier, but knowing that WM is planning on replacing the IS soap stack with Glue over the next several releases, that might be a lot of wasted effort.

Generating a WSDL that will invoke your wrapper service is also harder than it should be. For some reason, you can’t just refer to the input and output documents of your wrapped service. You have to create a new document type that contains a “holder” document type. That document type contains only one child, a document reference to the document type you really want to use. When you inspect the generated WSDL the holder document is there, but when you generate a Flow or java client from the WSDL the method only uses the input document of the wrapped service.

BTW, my favorite way to generate Glue java clients from WSDL files is to use Eclipse with the Glue plugins. Just create a new Glue project and then add a web reference. The new web reference wizard prompts you for the location of the WSDL and generates the classes you need. Just add a new class with a main method to invoke your web service and you’re set. Easy!

Mark

Tags: , ,

Comments No Comments »

Here are a few photos from IW 2008 taken from my iPhone

Tags:

Comments No Comments »

Apple’s recent upgrade to the iPhone software introduced the ability to install applications from the AppStore. One of the free apps allows users to access and update their WorsPress blogs from the iPhone.

The absence of cut and paste and a larger keyboard will keep the iPhone from being a great blogging tool, but it’s handy for quick updates

Mark

Tags: ,

Comments No Comments »

Caught this critter on my way home Monday night about two miles from home

photo

Tags:

Comments No Comments »

The original Conneva.com website was based on an old version of Movable Type.  Since I have been helping friends setup WordPress blogs for some time now, I decided it was finally time to migrate the Conneva web site and blog to WP as well.

I have a little work to do on the header images and sidebar nav, but the posts have been ported and its working.

Mark

Tags: , ,

Comments 1 Comment »

Hong Kong Phooey was one of my favorite Saturday morning cartoons when I was growing up. There were only 16 episodes ever made, but I must have seen them all more than a few times.

Back in the real world, I just returned from a two-week webMethods consulting assignment in Hong Kong. My wife joined me after the project was over for a few days of vacation.

I took this photo from Victoria Peak on a foggy evening after we enjoyed a great dinner there.

Hong Kong Island At Night.jpg

I enjoyed the big city life of Hong Kong and was truly impressed by how late the sidewalks and restaurants are crowded with people. At 11:30 PM there are still hundreds of people going about their normal routines.

However, after living in the wide open west of Colorado for over 10 years, I must admit that I found the relative quiet of Stanley Village and Repulse Bay much more enjoyable.

Update: Several months ago, I was contacted by someone from the French publication Nature & Progrèsfor permission to use the “Hong Kong Island at Night” photo in a future edition of their magazine. My only request was to be given credit for the photo and to receive a copy of the magazine when it was published. Well, it arrived last week. Wow, does that mean I am a published photographer now? I need to add that to my resume!

nature_et_progres_magazine_cover.jpg

Comments No Comments »

Now this seems like something for the techno-geek who has everything!

SuishiUSBDrive.jpg

Comments No Comments »