Our recent posts...
Oracle Open World 2009 highlights
Sitting in my hotel room after the keynote by Larry Ellison that had my ‘all time favorite action Hero and now governor’ Arnold Schwarzenegger as a guest, I was thinking about the highlights of this conference. One of them, obviously, was seeing ‘Arnie’ on stage.
But, on a serious note, there were several highlights as well. Let’s look at them in no particular order.
Some tips and tricks on migrating SOA Suite 10g to 11g
Just a few things I noticed last week when migrating BPEL and ESB projects from SOA Suite 10g to SCA composites and components in SOA Suite 11g.
Views on Management: Rijnland vs. Anglo-American
On invitation of Bram, who is a Master Black Belt in Lean Six Sigma, I participated in a meeting with members of a Dutch network of quality managers (Nederlands Netwerk van Kwaliteitsmanagers – NNK). The goal of this NNK network and someone that brings Lean Six Sigma into practice is, as you might have guessed: quality improvement.
As I am a Business Process Management consultant at Approach, which of course has a lot to do with (process) quality improvement, I gladly accepted this invitation. Topic of the evening was the difference between two views (Rijnlands vs. Anglo-American) on quality management. Rijnlands being a management paradigm from the Netherlands and Germany, Anglo American as a management culture from USA and UK.
Exception-handling in JAX-WS Web Services on WebLogic
There is more to exception-handling in JAX-WS Web Services than meets the eye. Especially when throwing custom (checked) exceptions from your Java methods that are exposed as Web Service operations. There’s a nice blog by Eben Hewitt on using SOAP Faults and Exceptions in Java JAX-WS Web Services. I recommend reading it; especially when you get the following error: javax.xml.ws.soap.SOAPFaultException java.lang.NoSuchMethodException. This is one of the issues you might run into when migrating from Oracle Application Server (OC4J) to Oracle WebLogic Server.
Best practices 3 – Oracle ESB and Mediator
This is the third post in our SOA and BPM best practices series. This blog provides best practices for Oracle ESB (Oracle Fusion Middleware 10g) and its successor (when it concerns routing and transformation): the mediator component in SCA (Oracle Fusion Middleware 11g). The previous blog in this series is about Web Services best practices.
Installing JDeveloper 11g
Two things I ran into when installing and configuring Oracle Fusion Middleware JDeveloper 11g that are worth mentioning:
Best practices 2 – Web Services
This is the second post in our SOA and BPM best practices series. This blog is about Web Services and provides a mix of general tips and more specific tips for Web Services that are implemented using Java and JEE. You can find the first blog in this series here.
Approach. Decide upfront, based on the requirements and constraints, what approach for Web Service development best suits your situation: top-down or contract first, bottom-up, or meet-in-the middle.
- Top-down or contract first. The starting point here is the contract of the Web Service: its WSDL. You either design it or it is provided as a ‘given fact’. From the WSDL you generate the implementation. If the contract frequently changes, regeneration of the code can cause difficulties since the implementation is overridden. If you use this method, make sure you don’t change the generated artifacts.
- Bottom-up or implementation first. The starting point is the implementation; all Web Service artifacts“such as its WSDL’s “ are generated. This is a fast approach when you want to expose existing components as Web Service. However, you need to be careful because you have limited control over the generated Web Service artifacts and it is therefore easy to break an interface if the Web Service is regenerated.
- Meet-in-the-middle approach. Here you define both contract and implementation yourself and later on create the glue between them. In case of Java you can use JAX-WS and JAXB APIs and code to create this glue. This is a very flexible approach: you can change both the WSDL and the implementation. It requires more work in the beginning, but is easier to change later on.
Compliance. A Web Service that isn’t standards-compliant is less (re)usable. Make sure your Web Service is compliant to the WS-* standards by using the WS-I profiles (Web Services Interoperability Organization).
Exposing operations. Don’t expose all methods as Web Service operations by default when using a bottom-up or meet-in-the-middle approach. Only expose those methods that are actually needed by service consumers. This promotes encapsulation and prevents access to ‘internal’ methods.
Products. Nowadays most products and technologies support Web Services. Keep their pros and cons in mind when deciding what technology to use. Java for example provides better support and a better runtime for Web Service development and XML-processing than relational databases.
Large XML documents. Avoid creating Web Services that receive, process, and/or send very large XML documents. XML processing is resource-intensive and relatively slow and therefore not well equipped for handling bulk data. Use other technologies such as database technologies or ETL tools for that purpose.
Quality of Service (QoS). It’s easy to develop basic Web Services-but it’s hard to make them robust, secure, and scalable (enough). Address these QoS (or non-functional) issues in the beginning of the project instead of discovering that requirements are not met at the end of your project.
Annotations. Be careful when using vendor-specific annotations (as opposed to the general annotations defined in the JAX-RPC, JAX-WS, and JAXB standards). Although vendor-specific annotations such as those in WebLogic can be very powerful they break portability of Web Services and tie them to a specific runtime.
Migration to WebLogic. See this blog for migrating JAX-WS Web Services from JDeveloper 10g/OC4J to JDeveloper 11g/Weblogic. Note from the blog that a bottom-up approach was used. After migration the WSDL was changed (among others the namespaces were changed) causing the invocation to fail. This is a typical example illustrating the pros of using a top-down or meet in the middle approach.
Next post in this series will be about best-practices for Oracle ESB and Mediator (FMW 11g).
Cultural dimensions and adopting Agile practices
In this blog I want to prove that the extend in which Agile practices are adopted is strongly related to a country’s culture.
On two separate occasions: Gartner Xebia Agile maturity master class and Agile consortium Benelux / Agile Holland’s conference ‘Integrating Agile’ the 2 invited foreign speakers – Dave Norton and Rob Thomsett – emphasized that our country, the Netherlands (NL), is the ‘hot spot’ for adoption of Agile methods & practices. In their experiences and looking at the analyzed facts and figures, many companies in the Netherlands are practicing Agile methods or are seriously exploring the possibility to adopt them.
I asked both men if they thought this could have anything to do with our Dutch culture. For some time now, I’ve been playing with the thought that culture and agile maturity /adoption grade could have a link. They both considered this to be very well possible.
You might know Geert Hofstede’s comprehensive study on how values in the workplace are influenced by culture. I wanted to compare the outcomes of, this study to Dave Norton and Rob Thomsett ’s insights on agile adoption in the Netherlands and other countries. Do they relate?
Dimensions
According to this study there are 5 dimensions on which countries can be compared: Power Distance, Individualism, Masculinity, Uncertainly avoidance and Long term-orientation. Hofstede indexed the differences on a scale from 0 to 100.
Dimensions explained:
Power Distance Index (PDI) is the extent to which the less powerful members of organizations and institutions (like the family) accept and expect that power is distributed unequally. (This represents inequality accepted from below, not from above)
Individualism (IDV) (its opposite is collectivism) is the degree to which individuals are integrated into groups. On the individualistic side we find societies in which ties between individuals are loose: On the collectivist side, we find societies in which people from birth onwards are integrated into strong, cohesive in-groups, often extended families. The word ‘collectivism’ in this sense has no political meaning: it refers to the group, not to the state. Again, the issue addressed by this dimension is an extremely fundamental one, regarding all societies in the world.
Masculinity (MAS) versus its opposite, femininity, refers to the distribution of roles between the genders. It is considered another fundamental basis for any society in finding (other) solutions to corresponding issues. The assertive pole is called ‘masculine’ and the modest, caring pole is called ‘feminine’. In feminine countries, both women and men have the same modest, caring values; in masculine countries women are somewhat assertive and competitive, but not as much as men: masculine countries typically show a gap between men’s values and women’s values.
Uncertainty Avoidance Index (UAI) deals with a society’s tolerance for uncertainty and ambiguity. It ultimately refers to man’s search for truth. It indicates to what extent a culture programs its members to feel either uncomfortable or comfortable in unstructured situations. Unstructured situations are novel, unknown, surprising, different from usual. Cultures that avoid uncertainty introduce strict laws and rules, safety and security measures. On a philosophical and religious level, they have a belief in absolute truth; ‘there can only be one Truth and we have it’. Its members are also more emotional, and motivated by inner nervous energy. The opposite types, members of cultures that accept uncertainty, are more tolerant of opinions different from what they are used to; they try to have as few rules as possible, and on the philosophical and religious level they are relativist and allow many trends to flow side by side. People within these cultures are more phlegmatic and contemplative, and not expected by their environment to express emotions. Uncertainly avoidance has a lot to do with acceptance of change.
Long-Term Orientation (LTO) versus short-term orientation: this fifth dimension was found later It can be said to deal with virtue regardless of Truth. Long Term Orientation is associated with values like thrift and perseverance; values associated with Short Term Orientation are respect for tradition, fulfilling social obligations, and ’saving your ‘face’.
In this picture you can see a comparison I made using Geert Hofstede’s model:
To make this a bit more visual I made this graph: 
In Belgium, power distance acceptance is high, in the other chosen countries below world average.
In almost all chosen countries, except for Scan, Germany and Belgium individuality is very high. In USA highest.
Masculinity in NL and Scan is extremely low, Germany and USA rank highest.
Uncertainty avoidance, and in my view therefore resistance to change, is highest in Germany and Belgium, lower in the Scandinavian countries and the other chosen countries score below world average.
NL scores about average with the world on long term orientation. Taking risk is more applicable to UK and Canada. Unfortunately no index figures are known of Scan and Belgium of this dimension.
Conclusions:
When we take into account what is said about the Netherlands in relation to Agile adoption / maturity and look at the differences between the cultural dimensions of the chosen countries we can cautiously come to a conclusions.
The chances for successful adoption on Agile methods & practice are obviously strongly related to a low masculinity index and low acceptance of power distance index (NL and Scan) and uncertainty avoidance (NL and Scan lower than world average)
In Belgium (high power distance) for instance, it’s much more important to first gain executive support for Agile practices. In the Netherlands you have to prove that Agile works and gives sustainability.
Belgium’s higher score on uncertainty avoidance suggests less acceptance to change. Belgian decisionmakers might have a higher need for clear measures, rules and more waterfall-like project methods. NL and certainly the UK and USA will be more open to other solutions. Germany is -’in between’.
In the Northern European countries, the practice of one of the Agile methods – scrum- is very common. Could there be a link between MAS score to the fact that in Norway 25% of the executive board is female? And in Denmark about 40%? This is a challenging idea. The degree of masculinity may be muted by a larger feminine participation and sponsorship from the boardroom for Agile development methods (executive support is in the top ten success factors for a project: No. 2 on the list in the studies of Standish University)
In conclusion, we can agree that, based on cultural differences in Belgium and Germany, chances for Agile project methods to be adopted are less than in the other six countries. Also the UK, the USA and Australia seem culturally less inclined to adopt Agile practices.
I think, keeping the cultural differences in mind, it can help us to find ways to tailor (training in) Agile methods and practices to fit within a culture.
Your opinion:
Now what do you think of the relationship between agile adoption and cultural differences? Do you work in one of the countries mentioned here? Did you actually experience the assumptions just mentioned, or do you have a different experience of your own? Please feel free to share your thoughts with me.
Best practices for BPM, SOA and EDA
While visiting ODTUG Kaleidoscope 2009 in Monterey and talking to fellow BPM, SOA and EDA adepts I got this idea about creating a best practices and lessons learned blog series. This first blog is dedicated to best practices in the BPM and SOA-space based on cases from a presentation by Lonneke Dikmans. Subsequent blogs will dive into best practices and lessons learned for a specific product, methodology or technology.
Case I: Introducing BPM. Mistake: Organizational impact underestimated. Explanation: Successful delivery of BPM project, business heavily involved. Never used because they realized after delivery that changes in both the organization and the software were needed. Best practice 1. BPM and SOA are about business, IT and humans. Observe how people work, don’t just ask them.
Case II: Notifications. Mistake: Dependencies between processes modeled directly in the processes itself. Explanation: Process flow sometimes is influenced by other processes. This was modeled into every process: this makes processes tightly coupled to each other and hard to change. It resulted in deadlocks. Best practice 2. Use events to notify running processes. Best practice 3. Monitor & avoid exceptions.
Case III: New technology. Mistake: Use BPEL as a general purpose language. Explanation: BPEL is a domain specific language; it was designed to orchestrate (web) services. Someone coming from a homogeneous -for example PL/SQL environment- in their back office, could decide to rewrite everything in BPEL, even the service implementations. The progress of such a project is very slow, and doing things that used to be easy becomes very hard. Best practice 4. BPEL is a Domain Specific Language (DSL); use BPEL for orchestration only. Best practice 5. Use an Enterprise Service Bus (ESB) to expose services to consumers including BPEL. Best practice 6. Use Java for service implementation. Best practice 7. Use PL/SQL for persistent data manipulation and data integrity rules. Best practice 8. Use rules when you need customization, inference or when business rules are volatile.
Case IV: Quality of Service. Success: involve administrators early. Explanation: Someone designed their first SOA project with quality of service in mind. In production all the non-functional demands were met. Best practice 9: Design architecture for Quality of Service from the start … but only what you really need! Not everyone needs clustering, fail-over, high-availability, and so on.
Case V: Domains. Success: combine a top down with a bottom up approach. Explanation: By defining 6 business domains and one supporting domain, the service taxonomy and event definitions were easier to keep track of. Also defining an owner for some of the services and design guidelines for services that cross domains become possible. Best practice 10. Use domains and layers to facilitate making a taxonomy of services and defining design guidelines.
Conclusion. Think big, start small. Meet in the middle requires aligning Business, IT and People. Architects can be intermediaries. Sharing knowledge and experience is necessary.
The next blog in this series will dive into Web Services best practices.
ODTUG Kaleidoscope 2009
ODTUG Kaleidoscope 2009 is almost coming to an end at the time of this writing. After some chilly days the sun started to shine in Monterey and turned this great event into an even better one. As mentioned almost every day, ODTUG is one of the few conferences that has grown compared to last year. This was my first visit to ODTUG. I actually thought it would be as big as Open World
But it’s about a hundred times smaller. And actually that’s cool; much more intimate. Here you really get the chance to speak to product managers, interact with peers, and meet lots of new and interesting people!
So what were the highlights?
SOA and BPM Symposium on Sunday. For the first time there was a separate symposium and track dedicated to SOA and BPM. It was put together by ACE Directors Lonneke Dikmans, Lucas Jellema and Mike van Alst. Although the APEX and database tracks attracted more audience, we had a very interesting and interactive day with a mix of newcomers and SOA-adepts. The day was split into a business and technology part. Breakout sessions were mixed with great presentations by Demed L’Her, Geoffroy de Lamalle, and Clemens Utschig. Read about the results -SOA and BPM approaches- on Oracle Wiki.
Fusion Apps demo. The first official demo of the upcoming Fusion Apps. It looked really smooth! It’s build on top of the new Oracle Fusion Middleware 11g stack (WebCenter, ADF, SOA Suite). Lot’s of social networking capabilities and interaction. Expect to see more of this. Some technology stats: approximately 11,000 task flows, between 5 and 6 thousand tables, tens of thousands of ADF BC View Objects, and so on.
Oracle ACE dinner. Great dinner followed by a bonfire and s’mores on the beach!
Presentations in the SOA and BPM track. Lots of interesting presentations here. I was an ambassador for Lonneke’s presentation and did a presentation myself on SOA in a database-centric environment. Also great presentations by Roman Dobrik on BPEL development patterns, Chris Judson on canonical data models, Mauricio Naranjo on a government SOA project in Latin America, Samrat Ray on SCA in SOA Suite 11g, Mark Simpson on tools for business processes, and Lucas Jellema on SOA in an Oracle classic stronghold.
Meeting fellow geeks. You want to meet people that drive cars with license plates like “BPEL” or “WEB 2 OH”? Find them at ODTUG!
![]()
Great conference! Thanks to everyone and looking forward to meet everyone again at Oracle Open World 2009!
Blogs
- 26 Jul
- 10 Jun
- 02 Jun
- 26 Mar
- 25 Feb
-
05 Nov
Some tips & tricks on migrating SOA Suite 10g to 11g – Part 2
- 04 Nov
- 02 Nov
- 25 Oct
- 20 Oct
- Best practices 2 - Web Services
- Fault handling in Oracle SOA Suite 11g - Part II
- Fault handling in Oracle SOA Suite 11g
- Migrating Web Services from JDeveloper 10g to 11g
- Migrating EJB 3 applications from OC4J to WebLogic
- Best practices for BPM, SOA and EDA
- Some tips & tricks on migrating SOA Suite 10g to 11g - Part 2
- Logging messages in Oracle SOA Suite 11g using OWSM
Loading ...