I have the chance to spend the afternoon at Barcamp 2007 in Palo Alto. It was my first barcamp and a great experience. Kudos to the team who put the time and emergy to organize this event.
Highlight #1. I was very impressed by the open, organic nature of the event. No big banners with marketing messages. Instead a self organizing wall were people could publish and subscribe to talks.
Highlight #2. Tom Conrad, CTO of Pandora, did a 45 min talk on the lessons they learnt while scaling Pandora fro 8 users to 8 millions users. Both from a technology, marketing and support perspective. Tom is a great presenter with a very conversational/engaging style. They have a very open culture centered around listening to customers and focusing on building a great and differentiated product. They took three very important turns in the history of Pandora: 1) focus on internet radio, 2) differentiate by building the first product to allow users to create their own channels in one click and 3) shift from a subscription-based model to a creating ad-based model.
I had the chance to interact with Tom a couple times while he was at Kenamea and I was at Collaxa. I am glad to see that he/Pandora is doing very well.
This podcast from David Chappell tries tries to address a though question: what is SCA? What makes this challenging is that the terms assembly, composition and orchestration are abstract concepts which do not really have clear boundaries in peoples minds.
So what is the difference between orchestration and assembly?!?
Orchestration defines a set of steps/activities which represent a business process (step 1: verify the user account, step 2: verify inventory, step 3: process credit card, step 4: send email to the user). Some of these steps can be performed sequentially, some of them in parallel, exceptions can occur, manual intervention might be required, etc… Some orchestrations can be simple, some can be very sophisticated. Orchestrations are modeled using a standard language called BPEL. [ (Updated based on the comment from Greg Pavlik) Note: Orchestration logic is not usually captured in one monolitic business process. It can include subprocess steps (which can be distributed physically across the enterprise or across enterprises). The process itself or some of it steps can be implemented in Java or C.]
But what is assembly then?
As part of step 1, the BPEL process needs to integrate with an LDAP service. As part of step 2, the BPEL process need to integrate with an SAP system. As part of exception processing, it needs to integrate with a workflow sub-system. These integration points (links between BPEL processes and external systems) are called bindings. Bindings usually include location of the different services, protocols to use, security, logging and reliability requirements. The SCA Assembly spec defines a language for modeling these bindings.
[(Updated based on the comment from Greg Pavlik) Note: In the case where a process include subprocess or other component written in a variety of languages, the binding problem extends beyond linking to external systems to the need for linking to internal parts.]
The benefit of SCA is that is makes bindings much easier to monitor, manage and change – not super sexy but the potential for a significant step forward in terms of deployment and change management.
Hello. My name is Edwin Khodabakchian and this is my new blog. I left Oracle about 9 months ago to spend more time with my wife and daughters and travel. I am slowly getting back to work. I will be using this blog to share knowledge and comment about some of the trends I see in the technology and software development space.