Software Engineering
UKOUG 2011 – Drag, Drop and other Stuff. Using your Database as a File Server
Dec 12th
Last Thuesday, Mark Drake, Senior Product Manager and I, delivered a good presentation during UKOUG in Birmingham about how to use your database, via XMLDB functionality, as a file server. The presentation demonstrated as well how you could extent the “standaard” file server (aka your database) functionality with features like, WebDAV driven ACL Security and XDB Repository Events, which enable you to automatically trigger event driven actions based on, for example, file naming, content, creator or others.
You can find the presentation on Slideshare or enjoy it here.
During the demonstration in the second half of the presentation, we demonstrated how you can automatically consume the EXIF and KML information embedded in pictures to use it with the Google Earth API. All the code used for this Google Earth demonstration, and more, can be found on the Oracle XMLDB Sample Code page.
Have fun trying it out and if there any questions, post them on the OTN Oracle XMLDB forum.
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 »
Solving connection problems using virtualBox:”SOA&BPM Development VM”
Nov 2nd
A few weeks ago I had to work with a virtual box by oracle with a pre installed Database (xe) and weblogic to do some BPM Studio work. After the default installation I expected to just start the Virtual machine, start the weblogic server and enjoying the advantages of having everything installed properly…
Not exactly because I could not get the right connection established and on the virtual machine I could not get the Weblogic Server started. If you encounter the same type of problem here is my solution that worked for me and perhaps as well for you. Hoping this will speed up things and to concentrate more on the BPM stuff then actually fixing the bugs on the VM Boxes J. Read the rest of this entry »
ADF 11g R2 : Using the ActiveRowKey property
Aug 31st
In ADF 11g Release 2, the ADF Table component has a property called ‘ActiveRowKey’. According to documentation, this represents the row that is currently active on the client. In click-to-edit mode, the active row will be made editable and is brought into view (if not already visible). Upon initial display, the click-to-edit component defaults the active row to the first visible row. In this post I will show you how to use the activeRowKey programmatic Read the rest of this entry »
Book Review : Oracle ADF Enterprise Application Development – Made Simple
Jun 26th
On my way to Los Angeles (Long Beach) for KScope 2011 (12 Hours in an airplane) I had plenty of time to do some reading and writing.The book I read was an only very recently (june 2011) published ADF Book. This is not a technical deep dive into ADF, but it focuses on the process of application development.
The book is written by Sten Vesterli an Oracle ACE Director and it is absolutely a good read. Read the rest of this entry »
ODTUG KScope Preview 2011
Jun 14th
Ook dit jaar, namelijk op dinsdag 14 Juni, organiseert AMIS de ODTUG Preview. Het jaarlijkse congres van de ODTUG, de Oracle Development Tools Users Group, vind dit jaar plaats in Longbeach, California van 26 tot en met 30 juni. Het is niet voor iedereen weggelegd om daar naar toe te gaan. AMIS biedt, alweer voor het vijfde achtereenvolgende jaar, aan geïnteresseerden de kans om een selectie van de presentaties die daar te zien zijn bij te wonen. Een aantal Europese sprekers zal tijdens de AMIS ODTUG preview presentatie laten zien die ook in de Verenigde Staten worden gehouden.
Tijdens de AMIS ODTUG Preview zullen er drie keer drie parallelle sessies worden gehouden met verschillende onderwerpen zoals APEX, database development, ADF, JHeadstart en SOA.
Programma:
| Tijd | Track 1 | Track 2 | Track 3 |
|---|---|---|---|
| 16:30 | Welkom en Registratie | ||
| 17:00 | XFILES, the APEX 4 Version: The Truth is in There…Marco Gralike & Roel Hartman | ADF Developers – Make the Database Work for YouLucas Jellema | Pipelined Table FunctionsPatrick Barel |
| 18:00 | Dinner | ||
| 19:00 | APEX Face/Off – Designing a GUI with APEX Templates and ThemesChristian Rokitta | BPMN: The New Silver Bullet?Lonneke Dikmans | Building Highly Reusable ADF TaskflowsSteven Davelaar |
| 20:15 | Who’s Afraid of Analytic Functions?Alex Nuijten | Overview of Eventing in Oracle SOA Suite 11gRonald van Luttikhuizen | …and Thus Your Forms ‘Automagically’ DisappearedLuc Bors |
Dit evenement is met name bedoeld voor ontwikkelaars.
Uiteraard zijn er aan dit event geen kosten verbonden, maar het aantal plaatsen voor dit evenement is beperkt, wacht niet te lang. Vol is vol.
Inschrijven via www.amis.nl
Details over de presentaties
Hieronder volgen de abstracts van [enkele van] de presentaties:
Building Highly Reusable ADF Taskflows – Steven Davelaar
If well-designed, ADF Task Flows are self-contained reusable UI services, with a clearly defined contract. In this presentation. Steven will explain step-by-step how you can create highly reusable and configurable ADF Task flows.He will explain and demonstrate how to build one taskflow that is used for data entry, for lookup in a popup window, for deeplinking from other taskflows or external sources like e-mail, as a master taskflow as well as a detail taskflow. After this session you will understand how you can dramatically increase the level of reuse in your application, and you will have learned a number of advanced ADF techniques.
Pipelined Table Functions – Patrick Barel
“If you can do it in SQL, use SQL.” But sometimes even the very powerful version of SQL that Oracle provides is not enough and you need more, like loops, conditions, etc. If you can make the output of a function like it’s a table, then you can use it in SQL and have access to all the power PL/SQL provides. After this session, you will know how to create functions that can be used as tables in SQL.
Who’s Afraid of Analytic Functions? – Alex Nuijten
Recognizing when Analytic Functions can be useful in your daily work is a lot harder than learning the syntax. In this presentation, real life examples are discussed to unleash the power of Analytic Functions.
APEX Face/Off – Designing a GUI with APEX Templates and Themes – Christian Rokitta
This presentation is a practical guide to the concept of APEX themes and templates. It outlines skills, tooling, and steps necessary to create a professional looking, custom APEX GUI.
XFILES, the APEX 4 Version: The Truth is in There… – Roel Hartman & Marco Gralike
Version control is not built into APEX. This session will show how to use power of the underlying XML Database to build a version control system for APEX … built in APEX itself!
BPMN: The New Silver Bullet? - Lonneke Dikmans
Given Oracle BPM Suite is now integrated into SOA Suite via SCA, does this mean BPMN is the new silver bullet in modeling and executing processes? Should developers really be switching from BPEL to BPMN? This session will take delegates through BMPN 2.0 in detail, showing how to model and execute BPMN in Oracle BPM Suite. It will also explain if and when processes should be modeled in Oracle BPA Suite. In addition, the session will discuss guidelines on when to use BPMN vs. BPEL. Finally, some pointers are given regarding the granularity of the business process: some of process logic can be defined in ADF task flows, others are better left in the process flow. The session illustrates the different concepts with demos from the Oracle BPA Suite and Oracle BPM Suite.
Overview of Eventing in Oracle SOA Suite 11g – Ronald van Luttikhuizen
Services and events are highly complementary instead of competing paradigms in the ICT landscape. Oracle SOA Suite 11g emphasizes the importance of events by introducing the Event Delivery Network (or EDN) into the SCA infrastructure. This session provides an introduction of eventing in SOA Suite 11g. It will start by explaining the basics of events [also with respect to services], introduce several messaging patterns such as fire-and-forget and publish/subscribe, and explain some real life examples of using events in an SOA landscape. It will then dive into the underlying eventing infrastructure of Oracle WebLogic Server 11g and Oracle SOA Suite 11g that is based on JMS and AQ, and demo their use both inside and outside SCA composites using resource adapters, PL/SQL, and Java. The session will finish with the introduction of Oracle SOA Suite 11g’s EDN and the use of (composite) sensors in SCA composites.
ADF Developers – Make the Database Work for You – Lucas Jellema
Most ADF applications interact with an (Oracle) RDBMS. It has been proven many times over that it really pays off to strike a good balance between ADF and Database – exploring which tool is best suited for which job and how the two can optimally leverage each other. This session discusses the various points of interaction between database and ADF and when to use which – for example Cursors, Types and Collections, XML as well as interaction via HTTP. The session will focus on ADF BC but will mention JPA and plain JDBC as well. It also highlights some special database features – hierarchical query, flashback, result cache, View with Instead Of Trigger, Analytical Functions – that ADF applications can leverage or should employ – security, database tracing, cache refresh through DB Query ResultSet Change Notification, constraints, and exception handling. Attendees learn what the database can do for their ADF application. They will be able to make better design decisions about how to implement functionality, which tier(s) to use, and how they can best work together.
…and Thus Your Forms ‘Automagically’ Disappeared – Luc Bors
This session is A Forms Modernization Story Featuring JHeadstart Forms2ADF. It talks about considerations to make when you are about to decide whether or not to leave Forms and go for ADF. You will see the process of conversion step by step starting with the business case and ending at the new ADF application. You will hear about issues you run into when using Forms2ADF for automated conversion and you will get hints on how to use Forms2ADF.
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! |
How to use an outerjoin to synchronise data
Apr 11th
There is often a need to synchronize data from a query. For example reading external data and update the tables. Sometimes it can be achieved by a single merge statement, but this is not always possible. Mind, for example, the need to update more than one table, or updating the data using an api.
As an example we want to grant and revoke privileges on database objects. Tables needing select, insert, update and delete privileges, packages execute and views select privileges. The table and packages also get the grant option for the select and execute privilege.
Read the rest of this entry »
Hands-on: Synchronize your database from a webservice with JAX-WS and ADF Business Components
Mar 27th
This step-by-step starter hands-on provides an example how to make a JAX-WS webservice proxy in JDeveloper, and save retrieved data from this webservice in a batch-job to your own database with ADF Business Components.
Duration: 60 minutes.
For this hands-on example, imagine that your company wants to expand internationally and that reliable, up to date country information is absolutely critical. Recently there were some changes in the number of countries and there might be in the future. Since 1990, 33 new countries have been created. A few months ago the world welcomed a new country (South-Sudan) and yet we don’t know what will happen in Libya (maybe it will be separated in West and East-Libya?). Your company wants to weekly synchronise its internal countries database table with up-to-date country information from a recognised country-monitoring institution that delivers up-to-date country information by a webservice.
Part 1 – Create the country webservice client with JAX-WS
We are going to create a webservice client proxy for a country webservice available on: Read the rest of this entry »
Oracle Diagnostics Logging (ODL) for application development
Jan 12th
Logging is a very important aspect of application development as it offers run-time access to the behaviour and data of the application. It’s important for debugging purposes but also to investigate exception situations on production. The Java developer has a choice between logging frameworks but Log4J is probably the most used one. The usage is quite simple: grab a Logger, e.g. private static Logger log = Logger.getLogger(MyBean.class);, and then use that logger to log the actual message at the required level, log.debug(“This is a debug message”);. To print the logmessages, the Log4J is configured externally with a properties file that defines the location (e.g. console, file, database etc.) and the format of the logmessages. Other logging frameworks, like Java Util Logging, are used in a similar way. It’s actually a good practice to not use Log4J directly, but to use a wrapping or facade framework, that allows switching of the actual logging implementation itself. In the past that would have been Apache Commons Logging (ACL), but now SLF4J is commonly used because it doesn’t have the classloader issues of ACL and it provides some nice message formatting (and performance) features like log.debug(“{} says: This is a debug message”, user.getName());. By the way, the logging usage of Log4J is similar to SLF4J so you can easily switch by only replacing the imports statements. Read the rest of this entry »



