KC Technical Architecture

ADF 11g: Ode to the Task Flow

Last night we organized the “Ode to the Task Flow” session at AMIS. After a short presentation introducing the Bounded Task Flow it was time for the hands-on lab: “Build your first taskflow”.

In this lab many of the attendees created their first taskflow, learning the basics of ADF taskflows. This first taskflow receives a job title, and optionally your favorite color via input parameters. Based on that information a welcome message is created. The taskflow is smart enough to invoke the proper logic by using a router to show the correct page fragment based on an input parameter. From this activity, you can change your name in another view activity. This taskflow includes routers, method calls, input parameters, default activities and wild card control flows.

After diner (great Chinese food) there was no time for my usual after diner dip. I had to present a demo on packaging an ADF Task Flow as an ADF Library, and invoking it into a new application. After this demo, the second hands-on lab started. This part of the “Ode to the Taskflow” hands-on lab, was about the mechanism used to achieve reuse across applications: the ADF Library – the bundle in which reusable taskflows are published with all their dependent objects. The ADF Library can subsequently be passed around and imported into other ADF applications. Goal of this lab: create an ADF Library for your first taskflow, and use it a new application.

After this hands-on lab the session was over. It was fun presenting this session. Attendees learned how to use taskflows and also about the mechanism behind reuse. I have uploaded some of the materials for the hands-on lab here.

I can’t wait to prepare a next ADF 11g session. Any topic suggestions ?

An Evening with Oracle Database Security Expert: Pete Finnigan

AMIS Technology School is proud to present, in collaboration with Miracle Benelux Masterclasses:

  • An Evening with Oracle Database Security Expert: Pete Finnigan on Tuesday 25th of May, 2010.

Miracle Benelux and Pete Finnigan agreed to do an extra special on the AMIS premises the evening just before Pete’s 2 day Masterclass in Utrecht will start (for the 2 day Masterclass agenda, see also the following URL). During this AMIS Query, besides the free food and normal standard setup of such an AMIS Query Event, Pete will have a presentation on Oracle security and there will be a lot of room of informal discussions during and after this session. There is still some room if you would like to learn from one of the best on Oracle database security.

More details on those masterclasses can be found on the Miracle Benelux site. Hopefully this will be the first of series… More details about this event will follow shortly.

About Pete Finnigan…

Pete is a world renowned expert in the area of Oracle security providing consultancy, design, security audits and trainings all in the area of Oracle Security. Pete is a member of the Oak table network, he has spoken regularly all over the world at various conferences such as UKOUG, PSOUG, BlackHat and Risk. Pete is a published author on Oracle security and researches and writes about the subject regularly. Pete also runs his website www.petefinnigan.com dedicated to Oracle security”.

About Miracle Benelux…

Miracle Benelux is specialized in database related performance- en stability problems. We have years of experience on troubleshooting Performance problems in large scale Oracle based systems. This is why Miracle Benelux is frequently asked to analyze where the performance-problems are when others give up and “everything” is tried. Miracle Benelux will present the solution on a quick and efficient base. Straight-to-the-point. Also when you have a different point of view with your supplier you can consult Miracle Benelux. Miracle Benelux has customers like Ahold, Free Record Shop, NUON, Eneco, Ziggo, TenneT, het Kadaster etc.

About AMIS…

AMIS creates ICT solutions to ensure the success of our customers to increase. We take along challenges together, with a passion for our profession, trust in each other and ambition to continuous growth. Committed to ICT. Involved in people. We want to help the customer progress by utilizing high-quality information technology. It is our aim to realize targets in cooperation with our customers thanks to standard software, our custom-made applications and our services. In short, to achieve results with IT.

We care about applying our knowledge for the customer’s benefit in the best possible way. This passion for our job could be said to be a compulsory element in our culture within AMIS. Getting results by doing what you love is great, but realizing them together gives them even more value. Cooperation is something we cherish. We hone our knowledge and experiences by sharing them with colleagues and customers. In our view this makes knowledge more valuable. Thus everyone is very welcome to attend the knowledge sessions that we organize or take part in discussions in our technology blog.

You can register you for this event here:

Marco

Agile software development, the principles. Principle 11: The best architectures, requirements, and designs emerge from self-organizing teams.

This is the eleventh of 12 posts about the principles of agile software development. Purpose is to go back to the start of the agile manifesto (http://agilemanifesto.org/principles.html) and discuss the implementation of the 12 principles in real life software engineering. Goals of agility are to go deliver software of higher quality, faster, with a higher acceptance to end-users and able to follow the changing business requirements to strive for competitive advantage.
 
The question is: is this going to work in practice or is this only based on a nice marketing and sales story.
 
Principle 11: The best architectures, requirements, and designs emerge from self-organizing teams.
 
For a long time the engineering expertise (and also software engineering) was based upon the condition that you worked with specialists. These specialists emerged from the principle of division of labour and made it possible for these specialists to focus their attention on their specialism and create the best solution within their field of expertise. The Interaction designer designed a user interface, the architect created a global systems model, developers created code and infrastructure specialists created the necessary environment to run the application on.
 
Everyone was specialized and delivered the best solution within their capabilities. However when all these components where put together, noting worked. It is an illusion that specialists can design and foresee everything beforehand.
 
Within agile projects the solution is to use a self organizing team to perform these tasks. This team may consist of specialist, but this is not a requirement. The requirement of this team is that they work together and self-organize all aspects of the systems to be delivered. This team is permitted to make errors and invent their solutions, provided that they deliver and evaluate frequently (retrospective) and learn from their successes (and errors).

  Read the rest of this entry »

Enhancing fast queries using “Tapio-Indexes”

During the years I have a lot of times encountered performance problems that ended up to be fast queries (less than 10ms) which are executed very much. In these situations the execution plans, from such queries can look like:

 

OPERATION            OPTIONS                 OBJECT# NAME                        
-------------------- -------------------- ---------- -----------------------------------
SELECT STATEMENT                                     .                          
SORT                 ORDER BY                        .                          
TABLE ACCESS         BY INDEX ROWID           120713 XXX.TABLE_WITH_MANY_COLUMNS
INDEX                RANGE SCAN               121558 XXX.INDEX_WITH_FEW_COLUMNS 

 

In a lot of cases we deal with a query for example which is returning fewer columns than exists in the involved table like four, from an involved table having twenty columns. Although the execution plan looks already pretty “OK”, it still results in a query which is in top three most resource taking queries.

 

To enhance the query we can use “Fat Indexes” or nowadays better known “Tapio Indexes” (I call them like that nowadays). What are these kind of indexes…. In principle nothing really new, but for me a couple of years ago an (re)eye opener by Tapio Lahdenmaki. This Finish independent database performance consultant and instructor gave a presentation at Miracle Open World 2007 in Denmark, I attended. Tapio can present this topic in a very special way, and in my opinion “his message” should be known by all developers and dba’s.

Read the rest of this entry »

Session announcement: Oracle Service Bus (25 feb 2009)

Just wanted to draw your attention to a "Knowledge Center" session at AMIS this wednessday (25 feb 2009, starting at 16:30). It concerns the new Oracle Service Bus (previously the BEA Aqualogic Service Bus), and will be presented by former collegue Jeroen van Wilgenburg, now working at Xebia. Jeroen has worked with the OSB on his current project, so he will be able to give us real-life experiences, not just a "summary of features"! For more information, and information on how to register, take a look at the AMIS Agenda: http://www.amis.nl/activiteiten.php?id=681&preview=&draft=

 

Oracle Workflow, a brief introduction – Part 2 Building a simple workflow

 

In this blog I will show you how easy it is to build a process with Oracle Workflow. This demo consist of an automatic step (plsql function) and a FYI notification. The process will be deployed in the workflow environment described in my previous blog (Part 1).

 

Workflow Builder
To build a process you need Oracle Workflow Builder 2.6.3.5. The install file can be downloaded from the following url: www.oracle.com/technology/software/products/workflow/index.html

  Read the rest of this entry »

Accessing JVM arguments from Java (to determine if JVM is running in debug mode)

The other day, I was using the JDeveloper debugger to locally debug some code in an application that uses (and therefore becomes part of) an Oracle Coherence data grid. As it turned out, using step-by-step debugging in a JVM that is part of a Coherence cluster has significant impact on the rest of the grid. The other nodes see the node constantly alternating between being responsive and being frozen, and keep taking measures to ensure the "health" of the grid. As Coherence values "health" or better, "consensus" within the grid over response times, this regularly causes processing on the other nodes to temporarily stop as well.

To remedy this problem, I wanted to alter the "grid initialization" logic in my application to check whether the JVM is running in debug mode or not, and if so, to not do the grid initialization. I checked the java command line with which JDeveloper runs an application in debug mode, and found that there is a JVM argument  "-Xdebug" that is indicative of this fact. But as this is not a "custom argument", i.e. it does not follow the "-Dname=value" syntax, you won’t be able to obtain this argument at runtime using System.getProperty(). Read the rest of this entry »

Mr. Thomas Kyte goes Dutch – Guru4Pro

Smiley 

We Dutchies are in luck.

Mr. Thomas Kyte will be in Holland on the 3th of November presenting "11 Things about 11g" on the Logica premises during a Logica Guru4Pro event in Amstelveen. Besides this presentation, there will be the opportunity to askTom the questions you always wanted to ask him. You will be welcome from 14:30, and although the annoucement is in Dutch, Tom will present in English and probably also the "askTom" session afterwards will be answered in English. 

HTH

<M/>

The “X” Product – An X(ML) Database Opportunity?

"Exadata – Extreme Performance Warehousing", that’s how the presentation on the last Friday morning from Oracle Open World started (Orig. Presentation Title was "Oracle’s New Database Accelerator: Query Processing Revolutionized") while speaking about the new database machine. And indeed it was a revolution and it took the blogosphere by night. My notes from this session are already "for historic use" because a lot of people already blogged about it.

Another nice side effect is that Kevin Closson started blogging again. If you want to know all about there is to know regarding the "Exadata" hardware then you now can read up on Kevin’s: "Exadata Posts" page and FAQ’s. It must have been hard for Kevin not to blog about this cool piece of machinery and its smart database software.

 

So if you want you can skip the following, because it is old news

Smiley

.... Read the rest of this entry »

Oracle Workflow, a brief introduction – Part 1 Setting up an environment

Maybe the following question will arise after reading the title: Oracle Workflow isn’t that obsolete technology?

The answer can be very short: Yes it is. (Read the SOD on http://www.oracle.com/technology/products/ias/workflow/workflow_sod.html)
But it’s still interesting enough to dive into it. Oracle Workflow is heavy used in the E-Business Suite and also used by Warehouse Builder, with, in both cases, workflow customizations. There are also a lot of customers using the standalone variant. Imagine they all want to convert to Oracle BPEL…  Then it would be nice to know something about it.

In the next (at least) 3 blogs, i will give you a brief look into the world of Oracle Workflow, consisting of the following subjects:

•    Building a simple workflow
•    Setting up a workflow with email communication
•    Using the Business Event System

What do you need for a start?
Download the Oracle database 10.2.0.1 and the corresponding Companion CD from OTN. You also need the Workflow builder software (in a later stage). It can be found at the following link: http://www.oracle.com/technology/software/products/workflow/index.html

The basic installation of the database software with a starter database (I used the EE) will be enough to install and run the Workflow server.
.... Read the rest of this entry »