Tag Archives: governance

Program SOA Symposium 2010 available

The agenda for the SOA Symposium 2010 has been posted. Again there are very interesting sessions during this 2 day conference. The largest and most comprehensive in the field of SOA and Cloud Computing. The Real World SOA Case Studies track offers a great opportunity to learn from the experience of others. In this track you will find:

Real-life accounts of successful and failed SOA projects discussed first-hand by those that experienced the project lifecycles and have a story to tell. These veteran practitioners will provide advice and insights regarding challenges, pitfalls, proven practices, and general project information that demonstrates the intricacies of implementing and governing service-oriented solutions in the real world.

I will be presenting the first session in this track on Using a Service Bus to Connect the Supply Chain. If you have any topics or questions in advance that you think I should address, please post them in the comments. Hope to meet you in Berlin.

Some thoughts on SOA Governance and BPM

Although I didn’t attend the Burton Group Catalyst Conference in Prague this week, I was able to get a glimpse using twitter and some blogs. My main focus was on the Life after SOA: Next Generation Application Architecture track. In this post I’ll share some quotes and thoughts with you.

SOA Governance

On governance I like this quote from Anne Thomas Manes:

If you can’t manage and govern your services with a wiki, a registry/repository won’t help you, either.

This goes great with the statement that I’ve put on this blog before that it is not about the tool it is about people and process. Besides that managing a Service Repository also isn’t a Silver Bullet either, it has proven to be very useful for some of our customers.

BPM

Here are some quotes from Mike Rollings on BPM:

Too much focus on business process automation is detrimental to your BPM initiative.

Automation helps reduce human effort, but fixating on automation gets in the way of optimizing the business.

Automation can be an enabler for optimization, however it should never get in it’s way of become some kind of burden. Yes software can help, but software is a means to (process) optimization not an end or a goal.

So far, I am not sure where I stand on the following quote from Anne Thomas Manes:

BPM infrastructure tools: process modeling tool is key. But models are not to be created to generate code.

On one side I’ve worked with tools that generate good code from models. At the same time I’ve worked with analyst and other functional people that do not have the skills to create a model that will result in great software. Please share your thoughts on the subject in the comments!

Installing the Oracle Business Process Repository

To work with the Oracle Business Process Analysis Suite 11g (BPA) as a team, you need a central repository. This post will give you a quick insight in the installation steps of the Oracle Business Process Repository, as the repository for the BPA Suite is called. The complete installation and administration guide can be found here (as PDF). Turn to paragraph 2.4 if you’re installing on Windows of 2.5 if your installing on Unix/Linux.

Installation steps

  • Create a database with the AL32UTF8 character set.
  • Create two tablespaces ARISDATA and ARISINDEX using automatic, unlimited growth. Make sure there is a temporary tablespace called TEMP or alter the SET DL_TS_TEMP=TEMP. If you choose other names alter the SET DL_TS_DATA=ARISDATA and SET DL_TS_INDEX=ARISINDEX in the envset.bat or envset.sh. The envset file can be found in the \Setups\DBMS\Oracle of the V17759-01_2of2 DVD.
  • Alter the envset.bat file to reflect the settings of your database:
    1
    2
    3
    4
    5
    6
    
    REM The path 2 sqlplus.exe 
    SET DL_ORA_BIN_PATH=
     
    SET TARGET_HOST=localhost
    SET TARGET_PORT=1521
    SET TARGET_SERVICE_NAME=ARIS
  • Run the envset.bat (or .sh) and install.bat (or .sh) from the \Setups\DBMS\Oracle directory of the V17759-01_2of2 DVD.
  • Run the setup.exe from the \Setups\Windows\Business Process Repository directory of the V17759-01_2of2 DVD. Choose the options to install with an existing repository
  • Choose to run as a Windows service of you’re on MS Windows.

Other useful links

Definitions of Services and Processes

After once again looking for good, useful definitions of Services and Process decided to put them here for future reference.

Service Orientation – Paul Allen

The following definitions come from Service Orientation: Winning Strategies and Best Practices by Paul Allen.

A service is functionality that must be specified in the business context and in terms of the contracts between the provider of that functionality and its consumers. Implementation details should not be revealed. The implementation of the service does not have to be automated – it could consist of purely human activity.

A business process is a set of activities that is initiated by an event, transforms information or materials, and produces an output. These sets of activities are either value chains that produce outputs valued by customers or infrastructure processes that produce outputs that are valued by other processes.

With the remark that “a business process is usefully pictured as being composed of re-configurable services”.

A software service is a type of service that is implemented by software and that offers one or more operations (or software functuions).

Web services technology is a set of XML-based industry standards and specifications that specify a communication protocol (SOAP), a definition language (WSDL), and a publish-subscribe registry (UDDI).

Succeeding with SOA and Implementing SOA – Paul C. Brown

The following definitions were taken from Succeeding with SOA by Paul C. Brown. Who also wrote Implementing SOA.

A service is a unit of functionality packaged for convenience and consistent use.

With the remark that typically, this functionality consists of a body of information and a set of operations for managing this information.

A business process is a structured set of activities organized to produce results.
A process, or more specifically a discrete process, is a sequence of distinct activities that produces (or attempts to produce) discrete countable results.

An activity is a function performed by one or more agents that uses on or more inputs and produces one or more results.

SOA Design Patterns- Thomas Erl

This post could simply not exist without quotes from Thomas Erl. A complete list of his books in the Service-Oriented Computing series can be found on soabooks.com.

Services are collections of capabilities. A Service is a unit of solution logic to which service-orientation has been applied to a meaningful extent.
Services exist as physically independent software programs with specific design characteristics that support the attainment of the strategic goals associated with service-oriented computing.

A Web service is a body of solution logic that provides a physically decoupled technical contract consiting of a WSDL definition and one or more XML Schema definitions and possible WS-Policy expressions
In a Web service Capabilities are exposed as operations.

Motivating without money

Some of the RSA talks are distilled by the folks at CognitiveMedia into abridged animated versions – RSAnimate. Here is one om motivation and drive:

There are loads of examples in litterature but also in more popular books like Freakonomics that:

People respond to incentives

In the animation you’ll see the kind of incentives that work well for tasks that go beyond mechanical skills and that require rudimentary cognitive skills (like conceptual and creative thinking). These incentives include the following aspects :

  • Autonomy – Which demands engagement instead of management and control.
  • Mastery – It is great fun to learn things and sometimes even be (really) good at something!
  • Purpose – Humans are purpose maximizers even more than money maximizers.

Please note that money isn’t one of them. So motivating without money should be possible. In short for organizations and managers it boils down to:

Treat people as people!

Let me know what you think on this subject in the comments….

Group Development and a Lessons Learned session

Yesterday I attended a Lessons Learned session for a Software Development project where I’ll be involved in the upcoming phase. All participants shared their opinion on the negative and positive experiences. What went well and what needed improvement. Putting all these opinions expressed on Post-It notes in perspective I realized that the major part of the negative experience where from the early days of the project. Whereas the positive experiences seemed to be from the most recent period. This brought me back to one of the models I was taught on Group Development while taking training and coaching courses. It suddenly made sense to me that there had to be a relation with the Tuckman’s Group Development Model.

Tuckman’s Group Development Model

Tuckman Group Development ModelThe Group Development Model that was proposed by Bruce Tuckman in 1965 has four phases:

  • Forming: Individual roles and responsibilities are unclear. Lots of questions about the team’s purpose, objectives and external relationships. Processes are often ignored. Members test tolerance of system and leader.
  • Storming: Clarity of purpose increases but plenty of uncertainties persist. Cliques and factions form and there may be power struggles.
  • Norming: Agreement and consensus is largely forms among the team. Roles and responsibilities are clear and accepted. Commitment and unity is strong. The team may engage in fun and social activities.
  • Performing: The team knows clearly why it is doing what it is doing. The team has a shared vision and is able to stand on its own feet with no interference or participation from the leader. There is a focus on over-achieving goals.

More in this PDF on Forming, Storming, Norming and Performing.
So in which phase do you think the most fun, excitement and productivity is? And as you guessed this was reflected in the Lessons Learned session mentioned: The negative experiences were during the Storming, and the positive experiences during the Performing phase.

Note that:

These phases are all necessary and inevitable in order for the team to grow, to face up to challenges, to tackle problems, to find solutions, to plan work, and to deliver results.

It is important to realize this because sometimes a group of people in a meeting go through these same four phases. And if your a real goal oriented person you could try to skip the first two of three steps. That in will have a severe impact on the buy in of the group / team.
The teams that don’t get out of the Storming phase usually deliver no or very low quality software…

InfoQ on the SOA Manifesto

In October 2009 I posted about the announcement of the SOA Manifesto during the SOA Symposium 2009. For those of you interested, InfoQ has interviewed the original author’s and in some cases pulled in their comments on the manifesto from the web to get insight into the motivations and the process behind the initiative. The answers are gathered under the name SOA Manifesto – 4 months after. The article looks into the following subjects:

  • The philosophy
  • The process
  • The goals

Find the complete article here.

Oracle SOA Governance 11g release?

Recently, in a press release, Oracle introduced Oracle SOA Governance. This component of Fusion Middleware consist of the following components:

  1. Oracle Enterprise Repository – OER
  2. Oracle Service Registry
  3. SOA Management with Oracle Enterprise Manager (SOA Management Pack)
  4. Web Service Manager

According to the press release it is already fully integrated with Oracle Amberpoint:

Oracle SOA Goverance 11g is fully integrated with Oracle AmberPoint, a leader in Service-Oriented Architecture (SOA) Management. The new solution provides organizations more continuity of closed-loop governance processes across both Oracle and third party applications.

Besides that it is not clear to me what is new. The latest version of the Enterprise Repository was release a month ago. Any ideas? Please leave them in the comments.

Bridging the BPMN – BPEL gap

First a short note on both BPMN and BPEL. BPMN is a modeling notation for business processes. OMG on it’s BPMN pages puts it:

The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes.

BPEL is an execution language. There is for example no standard graphical notation in the BPEL standard. The main focus is not on readability, it is on execution.
So BPMN and BPEL aim for different goals. It should come as no surprise that there is gap. There are several resources that describe the mapping, provide translation, or transforming BPMN to BPEL.

Guidelines

Here are some guidelines that help you bridge the BPMN to BPEL gap:

  • Be as specific as possible in BPMN diagrams (In Oracle Business Process Analysis Suite you can use e.g. automated activity, notification , and human tasks.).
  • Add additional information in BPMN activities. Sure this doesn’t enable automatic transformation, but it does reduce the need for additional design documentation. This will improve documentation consistency, and reduce the required governance.
  • Use templates in your BPMN activities. Structure and check completeness of your descriptions.
  • Use a Service repository. This will enable both designers and developer to communicate about “the same thing”
  • Use a GUI components reposity, for the same reasons as you use a Service repository

SOA Manifesto declared at SOA Symposium 2009

At the end of the SOA Symposium 2009 the SOA Manifesto was ready and declared. It is based on these principles.

SOA Manifesto

Service orientation is a paradigm that frames what you do. Service-oriented
architecture (SOA) is a type of architecture that results from applying service
orientation. We have been applying service orientation to help organizations
consistently deliver sustainable business value, with increased agility and
cost effectiveness, in line with changing business needs.
Through our work we have come to prioritize:

Business value over technical strategy
Strategic goals over project-specific benefits
Intrinsic interoperability over custom integration
Shared services over specific-purpose implementations
Flexibility over optimization
Evolutionary refinement over pursuit of initial perfection

That is, while we value the items on the right, we value the items on the left more.

source
You can watch the Announcement of the SOA Manifesto on Youtube.

SOA Manifesto in Wordle

SOA Manifesto in Wordle

The manifesto was signed and declared by: Ali Arsanjani, Grady Booch, Toufic Boubez, Paul C. Brown, David Chappell, John deVadoss, Thomas Erl, Nicolai Josuttis, Dirk Krafzig, Mark Little, Brian Loesgen, Anne Thomas Manes, Joe McKendrick, Steve Ross-Talbot, Stefan Tilkov, Clemens Utschig-Utschig, Herbjörn Wilhelmsen. Soon you can join them in signing the manifesto on soa-manifesto.org.

Update Oct. 26th
I found some blogposts of people participating in the creation of the SOA Manifesto: Clemens Utschig and Stefan Tilkov