This Monday I decided to follow the SOA – JAVA – BPM stream. I attended a presentation showing a high level overview of Oracle SOA and BPM Architectures, Oracle Fusion Middleware, and various product integrations.

They have spoken a few about SOA principles, from legacy Systems and application, to the end Web Services. What we need to understand here, is that SOA is an intermediate / abstraction layer that aims to standardize accesses to more low-level underlaying and specific services. SOA will make available some kinds of services to others, in an easier way.

During this session diagrams where a few to big and sometimes complicated to understand for gents who are not coming from the Oracle world. What I have felt, is that Oracle tried to convince the audience they can handle every kind of business problem and provide a solution.

In the future, they planned to continue an investment effort in the following key areas:

  • Mobile computing / development framework
  • Cloud computing
  • Internet of things
  • Big/fast data
  • Engineered systems
  • Business user empowerment

They also insured they will continue to support a wider Java community, and even if Java is “owned” by them, Java is not dead and Oracle don’t and won’t hoard it.

I also attended another presentation tried to demonstrate some use cases within Oracle SOA, and witch to use for what service.

First advice is to work on a complete service registry for an organization, in order have a more accurate segmentation and perform a classification with following criterias:

  • Functionalism
  • Granularity
  • Security level
  • Action type
  • Organization boundaries
  • Channel

Regroup them an try to use another dimension, some kind of an abstract position related to the importance in the organization:

  • Elementary services: smallest possible, short running
  • Composite services: defines single transaction, combination of logic between elementaries services
  • Process services: the highest level, longer running and potentially chargeable

Than we have mainly two choices, to use the Oracle Service Bus (OSB) and Business Process Execution Language (BPEL) for simple processes, or the Business Process Management to model and integrate more complex ones (for example those that sometimes need to go back, earlier in the process)

We have seen more concrete pictures of the usage of such Oracle products.

On another side I have attended to another presentation about database visualization, this in order to reduce over-costs and delay during large development projects, around huge databases.

Replicating full databases, that multiplies the storage needs, or provide subsets of the productions database to the developers, that will generate bugs at the end, are not acceptable solutions in some of these cases.

The solution proposed was to only make a single copy of a production database, eventually kept up-to-date regularly, and store only the small portions of data that where changed for each single developer session.

This will at the end give an efficient way to provide full access to the data to all developers at the same time, avoiding big discussions, decisions and procedures about resources allocation and consumption, letting the project going to be achieved faster. This also gives a chance to allow more time to QA and validations instead of staying waiting for the environment to be ready to start.