I'm a big fan of architecture. I really think it makes a big difference whether or not you have an architecture in place to build upon. However, I get into discussions with program- and projectmanagers, who think that architecture is nothing more than a burden for the project. Often I try to explain to them what the benefit is from architecture, even teaching them that architecture and programmanagement have the same goals: realizing business goals (by implementing software).
What does seem to help, is to approach it from a different perspective: what if .... you do not use architecture to guide your development? Lessons learned from the past show us that this will lead to:
* applications with loads of peer-to-peer connections (building a convoluted network of interapplication dependencies)
* unpredictability of IT projects due to the coupled nature of the application landscape. One never knows which application will fall over when a change is applied.
* costly projects due to the unpredictability. Project risks increase, costly measures (extreme testing) have to be implemented. Changes will take longer and longer at higher cost.
* diverse landscape of different applications, tools, languages, hardware etc.
* increased IT costs due to maintaining this diverse landscape and keeping knowledge up-to-date.
* overlapping functionality, multiple implementations of the same business functionality (like customer registration etc)
* loss of insight into the entire IT landscape.
Need I go on? I daresay that architecture can tackle all these issues and deliver a clean and feasible solution. However, it does mean for (some) architects that they will have to come down from their ivory tower and participate in building the new application landscape. They have to be the missionaries to spread the word ....
My thoughts and experiences on Architecture in general. Architecture in the sense of a technique to structure and envision long term strategies.
Tuesday, 22 September 2009
Tuesday, 11 August 2009
To 11g or not to 11g
I know, it's cheap to paraphrase a well-known writer. However, it doesn't make the question less valid. Usually the migration to a new major release of a software product is quite an undertaking. This is certainly true for Oracle SOA Suite 11g. That said, there are more than enough reasons to go for 11g, as it delivers a whole lot of new functionality that you might need. That new functionality is not the subject of this post, but you can find any information you need on OTN.
What I expect to see happening however, is a limited amount of back-porting of 11g functionality into the current release (going for 10.1.3.4 or even 10.1.3.5). So, depending on your needs it is imperative to have a good look at your current and future situation, to determine what will be the right strategy for you to take. Don't hesitate to contact me if you have specific questions about the way forward to 11g.
What I expect to see happening however, is a limited amount of back-porting of 11g functionality into the current release (going for 10.1.3.4 or even 10.1.3.5). So, depending on your needs it is imperative to have a good look at your current and future situation, to determine what will be the right strategy for you to take. Don't hesitate to contact me if you have specific questions about the way forward to 11g.
Podcast on SOA Governance
A while ago I was at Oracle HQ talking to Dave Berry, product team manager of Oracle Fusion Middleware, about governance. We started out a discussion on our blogs and we felt it would be a nice idea to convert our discussion into an article.
Somehow Bob Rhubart, manager of the Architect Community within Oracle, got wind of our discussion and invited us to give our take on Governance in general. The result is two podcasts on Governance:
* OTN Arch2Arch Podcast: SOA Governance: It's Cultural
* OTN Arch2Arch Podcast: SOA Governance Perspectives.
Let me know what you think of it!
Somehow Bob Rhubart, manager of the Architect Community within Oracle, got wind of our discussion and invited us to give our take on Governance in general. The result is two podcasts on Governance:
* OTN Arch2Arch Podcast: SOA Governance: It's Cultural
* OTN Arch2Arch Podcast: SOA Governance Perspectives.
Let me know what you think of it!
Tuesday, 14 July 2009
Holidays
This is my last day before I take a well-deserved 3-week holiday. Meaning I won't be posting any thoughts or comments in the next 3-4 weeks. Probably won't have much access to the Internet and besides, who cares about my holiday pics anyway?
So, see you all in August!
So, see you all in August!
Thursday, 2 July 2009
Oracle Fusion Middleware 11g launched. Did you miss it ?
Yesterday Oracle launched the long-awaited 11g release of Fusion Middleware. Perhaps you missed it? Well, nothing lost! You can go to OTN and see a replay of the launch. You'll also find all the downloads and additional information that will help you get started!
Go for it! It's definitely worthwhile!
Go for it! It's definitely worthwhile!
Tuesday, 30 June 2009
Process Engines vs State Engines
Process Engines, usually BPEL engines or Workflow engines, execute proces-steps based on a predefined process. This is a sound practice, however not for long-running processes.
Long-running processes have the nasty habit to change over time. This will affect all active and running processes. Why? Because the process engines usually store the process state and corresponding data in a persistence store. The effect of a change in the process requires you to migrate all those saved instances, unless you are able to leave them running the old version of the process.
A different approach is a State engine, where the next step in the process is not determined by the predefined steps in the process, but on the current state of the subject and the event that has been received. This leads to more decoupling between process and services. However, so far I haven't seen any Process engine that works like this.
In theory there's not much difference between the two approaches. You could state that a process engine uses implicit states as defined in the process, whereas a state engine uses explicit states. The end result could/should be exactly the same. A state engine would give some more flexibility, but also needs more functionality to be able to have an overview and control of the process.
Anyone knows of any tool that works like a state engine? I'd really like to know.
Long-running processes have the nasty habit to change over time. This will affect all active and running processes. Why? Because the process engines usually store the process state and corresponding data in a persistence store. The effect of a change in the process requires you to migrate all those saved instances, unless you are able to leave them running the old version of the process.
A different approach is a State engine, where the next step in the process is not determined by the predefined steps in the process, but on the current state of the subject and the event that has been received. This leads to more decoupling between process and services. However, so far I haven't seen any Process engine that works like this.
In theory there's not much difference between the two approaches. You could state that a process engine uses implicit states as defined in the process, whereas a state engine uses explicit states. The end result could/should be exactly the same. A state engine would give some more flexibility, but also needs more functionality to be able to have an overview and control of the process.
Anyone knows of any tool that works like a state engine? I'd really like to know.
Subscribe to:
Posts (Atom)