Saturday, June 20, 2009

Flash Summer Camp Berlin

At the invitation of Bettina Schulz, I came to Berlin Flash Summer Camp to do a talk on Flex and Flash Builder 4. Bettina and Mathias Stäbler arranged a great venue and had other luminaries there such as Sven Claar and Andre Michelle. It was well attended (perhaps 80-120) and the attendees were blessed with some great talks. While tired (I had literally flown in from Vancouver and landed only 2 hours prior to talking) I showed some of the new features of Flash Builder 4, Catalyst etc. Rather than use the standard demo assets, I chose to build my own and was able to demo the new features (network monitor, PHP wizard, data paging, ColdFusion, SOAP wizard, BlazeDS, LiveCycle Data Services, etc.) as well as teach some newcomers about the overall architecture. All I have to say is one thing:

"I love User Groups!!!"

Let me repeat that:

"I REALLY love User Groups!!!"

The fact they are all developers really makes me feel comfortable so we spent a lot of time concentrating on what will bite you when you go from working in Flex Builder 3 to Flash Builder 4 (the successor IDE, which still uses the Flex 4 framework). In general, a lot of Flex 3 developers had issues trying Flash Builder 4. I found it very useful to walk them through the changes starting with all the new namespaces (Spark, Halo, FXG et) plus the variants of MX NS values (2009, 2006, halo). Many of them were confused why we would do this and the complexity that was added. Once explained in terms they understood, they quickly became friendly with it and liked it. The big hits were the new advanced package explorer for each class, highlighting other instances of a class where it appears in the program (something Java developers are used to in Eclipse), advanced code hinting, content assist, class wizards and more. The network monitor won lots of friends, especially when demonstrating data paging.

The idea here is that alike when you request a map on your cell phone, you do not get all the data in one response to your original request, but it pages data as needed (on a cell phone tiles for your map). The server side PHP API takes two arguments, the start index and number of items to return. As the datagrid realizes it requires more data to fill more rows, it sends additional pages back to the server (MAMP in this case) to request the data and display it just in time.

Andre Michelle needed more time for his track so Sven Claar and I did a totally improvised joint session, taking queues from the audience as to what to see or do next. Sven covered the work flow with Catalyst and some other great stuff.

One theme that I found was an intense interest in BlazeDS and LiveCycle Data Services ES and more people wanting to understand them in more detail.

If you have not gone to a user group meeting lately - you better arrange to join and attend one soon. Some of the best times you can imagine (and free beer too!!!). Find one near you here:

Berlin-Brandenburger SAP Forum

On June 18 I spent the entire day at the Fachhochschule Brandenburg (basically a technical university) with the applied computer science advanced faculty and students. I was hosted by Professor Dr. Robert Franz, Professor Dr. Hartmut Heinrich and Professor Dr. Andreas Johannsen. My talk was on the core patterns of SaaS and SOA as well as the practical implications for software developers and architects. Through code, I demonstrated advanced micro-patterns for Web Service MEPs as well as briefly covering standard service clients like Flex4 for PHP, Web Services, REST (the real REST, not just meaning XML over HTTP) and more.

The students were totally enthusiastic and the faculty has been very knowledgeable in how they view SaaS and especially the architectural model exploring how to use Adobe’s stack to quickly offer SAP systems data using the SaaS model. The SAP speakers also had some great talks on SaaS and it is clear to me that Adobe and SAP need to work more closely together to harness the great power of SAP's enterprise while delivering business intelligence with Adobe's RIA stack.

My white paper on SaaS architecture was published in the official SAP SaaS Wirtschaftsinformatik. The same white paper is also published on the SaaS architectural area of Adobe's website.

I would love to be able to follow this up by coming back to teach a full day (maybe 2 days?) Flex Boot Camp at the University. This would involve a course similar to the one in Vancouver, except updated to reflect the new FB4 and F4, Catalyst work-flows and frameworks.

As I was in Brandenburg, basically a beautiful place, I was reminded of the Dalai Lama's advice - go every year to a place you have never been before. What a great way to live!

The presentation is available at

Berlin University Semantics and Ontology Keynote

Yesterday I had the honor of giving a keynote speech at the Freie Universität Berlin, only one day after a similar talk at the Berlin-Branderburger Fachhochschule. It was "Berlin Semantic Web Day" at Freie Universität Berlin, June 19th, and the topic was Semantic Business Process Management (SBPM) which is the combination of Corporate Semantic Web technologies, such as rules, events and ontologies, with BPM and a service oriented infrastructure to empower the upper layers of the architecture.

The keynote was for the Berlin Semantic Meetup group, which was an excellent meetup. The group is very well run and Adrian Paschke. We got to meet inside a large atrium with plenty of refreshments and great people!

The combination of Event driven architecture, SOA, CEP models, and BPM could deliver great advancements in discovery, configuration, and composition of appropriate process components, information objects, and services. Given Adobe LiveCycle ES has already a lot of the BPM and SOA tenets baked into the product, it was interesting to see attendees validate the architectural decisions of LiveCycle ES. While I did not speak directly on LiveCycle, it was always on the back of the mind.

The field of Computational Intelligence is really starting to heat up. As a member of the IEEE Computational Intelligence Society I plan to contribute some ideas to the movement.

I have uploaded my presentation on the OASIS SOA Reference Model, Semantics, Ontology and Adobe work in the space. The slides are available online here.