Setting the Context
By Antony Reynolds on Nov 05, 2008
Setting the Context with Oracle Enterprise Manager
The last few weeks I have being trying to get my head around some of Oracles recent acquisitions in the operations management space and it struck me how they all talk about context but all mean something different by it. Within Oracle these products come under the Enterprise Manager banner and specifically I have been looking at Oracle Real User Experience Insight (acquired from Moniforce), Oracle Application Diagnostics for Java and Oracle latest acquisition Clearapp.
What do they mean by context?
Each of these products talks about context but means different things.
Oracle RUEI means the goup of pages that make up a web session, that is context as expressed through a user session being held between web pages. This allows it to monitor usage of web resources and provide information for example about which stage of a sales process customers give up on, providing useful insight into how look/buy or look/book ratios might be improved. So in this case context is used to drive direct business information.
Oracle AD4J means the call stack and any related database sessions, so much of this is focused around stack traces, threads and related database sessions. This allows it to monitor and identiofy code bottlenecks across the Java and database tiers in the context of the sequence of call made, providing context for a single request in a JVM and its related database activity.
ClearApp has yet another definition of context, in this case context is at the SOA level of relationships between components. So context means which entry point drives traffic into which other components in the system. This context provides information about how one component calls another in a SOA infrastructure, potentially across multiple JVMs and multiple invocations.
The same but different!
I just thought it was sort of intersting how the same word got used for different meanings.I
f I am analysing web site performance then I am interested in the context of calls from a single user perspective and what type of experience that user has of my web site. This is the RUEI context.
If I am trying to monitor dependencies between SOA components and identify bottlenecks for particular SOA entry points then I am interested in the relations between components and which components are placing limits on the scalability or performance of my system. This is the ClearApp context.
Finally if I have performance problems with my JEE code and its database usage then I am interested in the code path taken for particular servlets, jsps and ejbs. I can use this to examine where my code is spending its time for a particular entry point and take action to improve its performance. This is the AD4J context.
At the moment these are all separate components in separate packages in Enterprise Manager but there are some obvious synergies between them and I can see operators wanting to take information gleaned from one and use it in another. For example I detect a slow web page using RUEI. I examine that web pages code usage in AD4J and discover that it is spending most of its time in a web service call. I note that web service call and examine it using ClearApp where I discover that the problem is actually related to a BPEL process which I then ask my developers to tune to improve the web [age response time.
More SOA toys but this time more for operators than developers.