SenchaCon Day2: Keynote AT&T

Jon Donovan, AT&T CTO, gives a presentation on “The Apps Economy”.

Jon starts off by saying they are heavily committed to HTML5 and company partnerships in this area like Sencha.

Smartphone growth has exploded during the worst recession since the Great Depression.

“Mobilization has shorten the distance between intent to action.”

AT&T is carrying about half the data traffic in the US.  Sees $58 billion in potential market value by 2015.

TSSJS Day 3: Spring Framework’s Rod Johnson Keynote

Rod flies in from Paris at 11pm last night.  Let’s see what he has to say being as jet lagged as he must be.  I’m feeling a bit punchy since I lost again at the poker tables last night.

Spring is not prescriptive (i.e., doesn’t tell you how you should code).  The philosophy of Spring is that the developer is always right…I like that!  Spring is putting a lot of emphasis on Grails and SpringRoo.  We then goes on to demo the Spring 3.0 features using Spring Source Tool Suite (STS) doing a SpringRoo project.

SpringRoo comes with a shell built into STS that you can type context-sensitive tab completion for common tasks.  He goes on to set-up context persistence.  He shows how component-scan can rip through your class files and find all the resource annotations continuously. He shows some other mundane things that were basically there from Spring 2 such as autowiring and db connections.

Then he shows how you can create integration tests with SpringRoo automagically…this is nice!  He goes on to talk about how great Spring Integration testing is using SpringJdbcTemplate, which it is if you haven’t checked it out.  He then uses JSR303 validation, which is built-in, to do some basic validation in his entity.  The Roo shell picks up the changes and updates the generated code without running anything.  Roo doesn’t do one-way scaffolding like typical code generation tools but constantly monitors the structure and makes changes to the underlying source better than you!  It’s a code generation tool that is for folks that still like to write code!

He goes on to show how you can use the Roo command line to create more entities and fill them out, including relationships between multiple entities.  It demonstrates how you can do two-way changes from in the code or cmd line…very cool!  Using the shell shows how you can ultimately write a script to build your app in playback mode later.  Additionally, you can use SpringRoo to add dependencies to your Maven POM…what doesn’t it do?

Spring 3.0 adds a RestTemplate to test REST services with JUnit…that should come in handy.  He continued to show how this can be used against the Twitter REST service to pull in tweets related to the conference.

I looked at SpringRoo about a year ago and it seems to have come a long way.  I was especially impressed with the integration in STS.  Something definitely to keep on the radar of things to look at.

TSSJS DAY 2: Oracle Keynote by David Shaffer

David Shaffer from Oracle gave a keynote this morning on 4 topics.  He divided this up into four areas as follows:

Simplified Product Development

Four main areas for development include Web services, Adapters, ESB, Rules Engine, BPEL/BPM Engine, Human Workflow and finally policy-oriented security.  Much of this has gone through an evolution that leads to SCA to develop composite applications using all of the above.  SCA talks about how to wire these all together.  It exposes services and makes references to other services that can be used to realize a business service.  Spring components are new and help support bi-directional communication/integration with Spring and SCA.  SCA allows you to manage the whole SLC from code to deploy as single artifacts to help increase developer productivity.

Extreme Performance & Scalability

Scaling is a lot of work.  This led to the emergence of the application grid to allow for simplification of scaling, HA, caching, etc.  Oracle realizes this through a high-performance JVM (e.g., deterministic GC), distributed cache, and a powerful application server.  The latter is enhanced with manageability, scalability, and scriptability, regardless if it’s an internal data center or a cloud.  Stateful services can really take advantage of the “application grid” to maintain long-running transactions.  Ultimately, all the components of a SOA can be managed on the grid to provide continuous availability for services, data, and processing logic.

Application Assemblies

Denies Burton’s affirmation that “SOA is dead” (no surprise!).  Cloud computing is expected to go through the same “hype curve” as SOA.  Cloud is amalgamation of SaaS, PaaS, and IaaS.  Oracle finds PaaS the most interesting for opportunities for growth and development.  PaaS is a natural strategy for enterprises.  This allows for flexibility around tools.  Traditionally, operational guys want homogeneous environments, but with PaaS you can aggregate consistent foundations for different styles of development that are housed under PaaS.  To accomplish this you have to create higher level building blocks using application assemblies.  Assemblies can be packaged up and deployed on the grid based on meta data configuration that alters the platform based on an individual application’s need.  Operational guys can provision this all on a VM infrastruction.

Unified Platform for Services, Events, and Processes

SCA event processing is key to develop and end-to-end unified platform.  This can implemented on JMS and add additional meta data.  BPEL4People is a standard that now can incorporate people into workflow tasks. This allows for easy configuration to assign and complete tasks in a workflow.  BPMN 2.0 extends standard graphical representation for system analysts use to describe the system by providing an enhanced metamodel.  This allows them to be transformed to BPEL or have them executed natively without involving further development.

Oracle is still heavily invested in SOA and sees it at the end of the “hype” cycle and asserts standards and unification marks an inflection point without sacrificing the simplicity of open and interoperable systems.  Application grid will be the platform to realize this vision and be a key enabler.

Question: Is this too Utopian and how do you support this abstraction when things go wrong?  Oracle sees that this architecture makes organizations more Agile so the feedback loop is shorter to make corrections.