Posts tagged soa suite
Business Validation in Oracle SOA Suite 11g using Schematron
Jan 5th
In a previous post I’ve explained the Schematron standard, how it works and how to use it. In the Oracle SOA Suite you can ‘Validate Semantic’ on the input (request) of a routing rule in a Mediator component by selecting a Schematron file. This is the Schemtron xml file in which you define your validation rules. The SOA Suite takes care of applying them on the request by executing the double transformation.
However, to be able to get the Schematron file working you need to declare the namespaces of the input message and rewrite a report rule to an assert rule. In this post I will show you how to do this with the same business rules (so the same Schematron rules and Schematron file) as the last example in a previous blog explaining Schematron.
Read the rest of this entry »
Difficulties with a more complex Business Rule Engine in Oracle SOA Suite
Dec 23rd
In my previous post I’ve shown how to create a composite in the Oracle SOA Suite with a simple decision table in a Business Rule Engine component. For that post I had used quite a simple data model resulting in a small xml/xsd tree. For our project I wanted to repeat the exercise with the real data model, so a larger xml tree defined by multiple imported xsd files. Unfortunately it wasn’t as easy as I hoped for. In this second blog post about the Business Rule Engine I’ll show you about the difficulties I had and how I’ve solved them. Read the rest of this entry »
Cookbook creating Business Rule Engine with a simple Decision Table in Oracle SOA Suite
Dec 13th
For educational purposes I’ve created a cookbook in powerpoint format on how to create a simple decision table in Oracle SOA Suite with a Business Rule engine.
To share this I’ve uploaded it to slideshare and post it here in the Amis blog as well. Read the rest of this entry »
Timeouts in Oracle SOA Suite 11g
Nov 18th
Some time ago… at a Oracle SOA 11g project, we had to call an external webservice which took 1 to 5 minutes to respond. The composite calling this webservice was called by another composite from a BPEL process. As you might guess, we got an timeout resulting in faulted instances.
Increasing the timeout time wasn’t as easy as I expected, because it’s not one timeout setting that had to be increased, but a total of five timeout settings! To document this for myself in case I run into it again and to help others with the same problem I’ve written it down in this blogpost.
Read the rest of this entry »
Publishing the Product Details WebService based on an Excel based Product Catalog using the SOA Suite 11g File Adapter with Synchronous File Read
Nov 14th
On the one hand: the organization wants to publish a real Web Service, SOAP enabled and all. On the other: the data to be provided by this Web Service is maintained in Excel files and undergoes regular changes by people who are well versed in Excel but absolutely blank when it comes to Web Services.
This article demonstrates how the File Adapter can be used with a Composite application running in Oracle SOA Suite 11g to synchronously read from a file with product catalog details and return information about a single product for which the product identifier was sent to the service.
In just a few, largely declarative, steps, the bridge is built from file based article records to a real SOAP Web Service.
Manage Agility through Manage-ability – Introducing Design Time at Run Time in Oracle Fusion Middleware
Nov 10th
Below is my presentation from the OGH DBA, SOA & BPM Day on November 8th. My talk was about achieving instant agility with application, through the ability to manipulate behavior and look & feel of applications at run time. And also to provide various flavors – parallel versions – of the application through customization.
Oracle Fusion Middleware has built-in infrastructure to provide run time agility as well as customization. This infrastructure is commonly referred to as ‘design time at run time’ (and lately also the Fusion Extension Platform). It is based on MDS (meta data services) Repository and a bunch of run time, WYSIWYG tools: the composers.
To make agility work through design time at run time, it is adamant that organizations clearly define the roles and the process associated with it. And finding staff to play the role of ‘run time application editor’ will not be easy.
SOA Suite File Adapter Pre and Post processing using Valves and Pipelines
Oct 24th
A quick note on the notion of valves and pipelines that can be configured in File (and FTP) Adapter Services and References (inbound and outbound) to perform file pre- and post processing on the files before they enter the composite application proper as XML or after they have left the composite application, turned from XML to their native format and before they are written out to file.
Valves can easily be created – in a way that reminds me of Servlet Filters – and the pipeline that can be configured with a chain of valves is also quite similar to a filter chain. A valve is custom Java Class that implements one or two specific interfaces. This class is packaged in a JAR file that is added to the classpath of the SOA Suite: the valve becomes part of the generic SOA Suite infrastructure, to be used potentially by multiple composite applications – not necessarily by just a single composite. Note however that use of a valve is configured in the File Adapter binding in every composite application that wants to leverage it.
Valves can be used for several operations. Some examples on the inbound end are:
-
filter files: only let through files or lines that are relevant
-
split files: let through structured data and write to grid or temp storage the associated attachments
-
pre-transform: convert binary (Word, PDF) to plain text or JSON to XML or CSV
-
security/validation: perform check on contents and decide whether to let through or not
-
throttle: slow down processing or wait for a toke to become available
-
decrypt, correct/enrich or unzip files
-
archive files in a more specific way than the file system copy currently supported by the file adapter
For outbound post-processing, a similar list could be composed.
Currently valves are not supported by JMS or Database Adapter – only for file and ftp. I have an inkling that this may change in the fairly near future, though this is only guesswork.
Note: it feels to me that some of the things valves can do regarding file and ftp adapter bindings, we can do through custom web service policies for web service and http binding – message pre- and post processing for inbound and outbound bindings respectively.
Clone your Oracle FMW SOA Suite 11g
Aug 11th
Sometimes, you would like to have an extract from a SOA Suite 11g production environment to test it in a test or acceptance environment.
There are several ways to do this, but in this post I’d like to discuss about how to get a clone of your SOA Suite 11g, from one WebLogic Server host to another.
To extract a clone, you will have to determine which components should be cloned:
- The SOA repository schema’s, like MDS, SOA-INFRA and so on.
- The WebLogic and FMW software
- The SOA Suite Domain Configuration including all SCA components and other deployments.
Choosing the best way for SOA Suite and Oracle Service Bus to interact with the Oracle Database
Jun 21st
In the past few weeks, I have encountered a similar discussion in various organisations. Each organisation uses either SOA Suite (11g) or Oracle Service Bus (11g) at the core of their SOA infrastructure – either for integration purposes, for workflow and process orchestration or for both. In each organisation, the role of one or more databases is crucial and interaction between the SOA environment and the database is one of the most common and therefore important functions in their enterprise IT environment.
Given the importance, it is only logical that the way(s) chosen for linking the SOA component to the database is carefully selected – and evaluated every now and again. Technology may have progressed, experience may have taught us a lesson or two, the knowledge and skills may have evolved.
Interestingly enough, the number of ways for SOA Suite and OSB to communicate with the database is quite high. This article includes an illustration that shows over 20 different interaction channels that we can choose from with a fairly wild variation of attributes, required skills, productivity and performance characteristics.
Among the choices we face is the question of the communication protocol to use for accessing the database. Roughly speaking, we can go through JDBC (via a JDBC Data Source on the WebLogic Server), via HTTP or using ‘another’ channel such as File System, FTP, Email, XMPP (Chat) etc. The communication protocol may in part determine another choice that awaits us: what will be the format and nature of the messages that we exchange: text based (XML, JSON, CSV) or strongly (Oracle-ly) typed. We know that on the one hand we have the world of XML in the SOA middleware components, and on the other side the relation world of the Oracle database – at least relational and strongly typed at the core.

So when choosing the method for having the SOA components interact with the database, we have to decide on the communication protocol and we have to determine where in the route from table to SOA component (and vv.) the conversion from Relation to XML or from XML to Relational will take place.
Considerations when making that decision include the question who has to do the work of making the XML <=> Relational conversion at design time and at run time – what is the productivity of an approach and what the performance impact. Other considerations include robustness and agility or ability to maintain and evolve the implementation. Of course the required skills factor into this decision as well as the complexity of the architecture, the design, development, test and deployment process and the nature of the interaction: read only, data manipulation, small or large documents, synchronous or asynchronous (or even fire and forget) etc.
Getting started with … your career (in Dutch)
Apr 21st
Als bezoeker van deze blog ben je bezig met het maken van mooie oplossingen en nieuwe uitdagingen op technisch gebied. AMIS nodigt je uit om ons team te komen versterken. AMIS wil je op het gebied van Oracle en Java uitdagen de volgende stap in je carrière nemen.
AMIS merkt al enige maanden dat de markt voor Oracle en Java opdrachten aan het aantrekken is en maakt dat concreet met het uitvoeren van innovatieve opdrachten.
Om je een beeld te geven van het werk bij AMIS volgt hieronder een lijst met de trajecten waar we de afgelopen maanden aan gewerkt hebben.
- OSB / SOA Suite implementatie bij een grote informatieverwerkende organisatie.
- Realisatie in ADF 11g van een backend applicatie voor een internetwinkel.
- Realisatie van een SAAS oplossing op basis van Hibernate, Seam en RichFaces.
- Realisatie van een medisch registratiesysteem in ADF.
- Advies op het gebied van het gebruik van ADF 11g in combinatie met JHeadstart voor een energiebedrijf.
- Realisatie van een SOA / BPEL implementatie voor een pensioenfonds.
- Realisatie van een administratiesysteem voor een verzekeraar buiten Nederland (EU) in ADF 11g en JHeadstart.
- Oracle XML DB implementatie voor een grote bank.
- Realisatie van een SOA Suite / BPEL oplossing voor een grote logistieke leverancier.
- Proof of concept ADF 11g bij een groot adviesbureau.
- Oracle APEX / GIS implementatie bij een groot adviesbureau.
- SOA / BPEL traject bij een grote gemeente.
- Oracle WebCenter, ADF 11g, SOA Suite 11g en OSB traject bij een grote wereldwijde dienstverlener.
- Webservice koppeling met ADF en JAX WS voor een grote gemeente.
- Advies en implementatie van een professionele ontwikkelstraat bij een IT-bedrijf
- …..meer
| We zoeken Oracle, SOA, Java developers die als medewerker van AMIS de vervolgopdrachten gaan uitvoeren. En denk niet direct dat je hiervoor te weinig kennis of ervaring hebt: jouw toekomstige ervaren collega’s doen niets liever dan jou verder helpen. Ons trainingsprogramma voorziet in een grote diversiteit aan opleidingen en tijdens onze interne kennissessies kun je op veel terreinen iets van je collega’s opsteken.
Kom ons eens van wat dichterbij bekijken en maak een afspraak voor een kennismakingsgesprek via Eva van der Kleij op info@amis.nl of bel naar op 030-6016000. Bel ons ook als je meer wilt weten over werken bij AMIS of een van de onderstaande functies. Concreet hebben we de volgende vacatures:
Wellicht sta jij volgende maand met een artikel op deze blog, schrijvend over de nieuwe dingen die je hebt geleerd of toegepast. Tot ziens bij AMIS! |


