Today we commonly feel the urge to move faster – take notice faster, learn faster, decide faster and act faster. It becomes a struggle. Still we can’t just decide: let’s be faster. There are situations, behaviors, previous experience and other things slowing us down. Let’s gather some analysis on what are the common situations asking for faster action, and what could be the simplest solutions at hand helping us find a way to move in a Fast Forward way – e.g., to establish a more effective team via becoming a real leader for the team.
Do we need ESB?
Sure we do! But… Wait a minute. What is ESB? Is it yet another 10-year-old “fancy” technology on its way to Valhalla? Before answering these questions, let us first understand what does this term actually mean.
Simple tricks to manipulate PropertySets
Siebel provides good tools for working with Siebel Hierarchies, e.g. a developer can query Siebel data using the EAI Siebel Adapter business service, transform the queried data into an instance of external integration object using the EAI Data Transformation Engine business service, and then send the result to an external system. If there are no complicated requirements, and the transformations are straightforward, most of Siebel developers can implement outbound or inbound web service in a couple of hours.
Zen of the PropertySet
The pain
Imagine yourself in the middle of the integration process. You're staring at a requirement asking you to update, let's say a SiebelMessage, that was just queried, and is being processed by one of your workflows in order to be consumed by some 3rd party system somewhere around the edge of the universe. But the update is not just an ordinary update, it has conditions. For example, “Action Code” of the Order Line Item to be passed for further transformation has to be “Add”, and the product of the same OLI has to be some kind of a phone, any kind you can imagine. Add a bit of sorting, a teaspoon of “Get The First That Matches The Condition”, a drop of “Delete That Element”, and you have your recipe of a complex and painful solution you are about to implement.
Java supports a lot of scripting languages, and since Java 6 it supports JavaScript out of the box. JDK 6 and JDK 7 both have embedded Rhino JavaScript engine that was developed by Mozilla. In JDK 8 though, the Rhino engine was replaced with Nashorn. Being the Rhino successor that was rewritten from scratch to meet modern script engine expectations, it offers a better performance, but since Java 8 is still not so widely adopted in the enterprise environments, let us focus on Rhino for now.