Posts Tagged ‘Oracle’
Oracle & BEA: Single BPEL & BPMN runtime!
Finally, we have an official statement about the product strategy that Oracle defined for the BEA weblogic, Tuxedo and Aqualogic!
Here is a summary, with the highlights from our point of view.
SOA Suite
Weblogic server will be the strategic JEE application server. Oracle application server will be supported mostly for Oracle Applications. SOA suite will still run on any JEE platform.
Service Component Architecture (SCA) will be the platform for SOA.
The ESB will be a combination of ALSB and Oracle Enterprise Service Bus, combining the XQuery capabilities and other features of ALSB with the good features of Oracle. Basically, ALSB will be re-engineered so it runs on SCA. The Oracle ESB features will then be added to the ALSB.
Not surprisingly, WLI is not strategic, Oracle BPEL PM is.
BPM
Oracle will converge the Aqualogic BPM runtime and BPEL runtime to a common BPMN and BPEL engine to support four patterns of BPM: human centric, document centric, decision centric, system centric
The most important thing that was the plan to converge the runtime of Aqualogic BPM with the Oracle BPEL runtime. This is very good news, since there have been problems translating the two. They will keep to design time offerings: BPA suite for formal modeling, Aqualogic BPM designer for agile modeling.
Portals
Here the same thing happens: BEA products are merged with Oracle products. BEA WL portal is not strategic, Webcenter is. BEA Aqualogic Interaction is not strategic either, some of the components like Ensemble are though.
All in all, most of the choices make a lot sense to me. I am anxious to see the convergence of BPEL and BPMN with ALBPM and BPEL PM. The downside is, that there are now even more products in the stack. This makes it even harder for customers to make the right choice…. I wonder how BEA developers and architects feel about the choices that have been made.
By the way, another nice result of this merger is the new architect space on OTN. Go check it out!
Oracle Technology Day
On June 17th I attended Oracle Technology Day at Hart van Holland event center in Nijkerk.
The day started with a welcome speech by Johan Doruiter (senior VP). He spoke a bit about the statement of direction for Oracle Fusion Middleware and gave an overview of the SOA-landscape. He briefly mentioned the merger with BEA and its legal completion on august 1st. However no further important messages about the merger and consequences were given. On On July 1st a web conference will be held about this topic. September 10th an official statement will be made.
The next speaker, Oracle VP Chris Baker told us nearly the same things as Johan, in English.
After a break of half an hour the parallel sessions started. Obviously I choose for the SOA ‘ tracks’ and continued to do so the whole day. The track was chaired by Sandor Nieuwenhuijs. Other tracks covered topics such as Datawarehousing and Business Intelligence, Governance Risk & Assurance, Enterprise Content Management, Flexible & Manageable Systems and SAP technical stuff.
There were several vendors of technical and business solutions you could visit at an ‘information market’.
The 4 SOA tracks I attended were:
- Oracle SOA suite 11g by Oracle & Chris Ras
- Constructing a mid office at Rotterdam community by Deloitte & Inter Access
- SOA life cycle by Hewlett Packard and
- Fusion Middleware at UvU by Atos Origin
I have to confess that I thought the speakers told the same story again and again. I can agree entirely with the conclusions that an SOA project deserves a specific approach to change, business processes are starting point, workflow can best be modeled by or in cooperation with user/experts and tools just support. It wasn’t a secret to me that BPMN can be used for modeling and BPEL for technical implementation.
What struck me was the fact that every project seems to step into the same pitfalls, in spite of all elaborate publications and warnings.
Lessons learned:
- There’s still a gap between business and IT. IT people don’t talk enough with business people or don’t understand business well.
- Insufficient participation of users.
- Testing isn’t part of the daily routine, testers aren’t involved from the beginning.
- Too little POC’ s are being carried out.
- Using processes as starting point takes much more time than taken into account at the beginning of a project.
- Too ambitious projects (’big bang’ with very compelling results) whereas taking small steps in iterations better suits SOA implementations.
- Managers too often manage projects using waterfall methods (fixed planning, separate phases, big upfront design, and no multifunctional teams). As a result there is little or no flexibility and less possibility to change.
- Technical support departments are involved too late.
Furthermore the usual issues and questions where mentioned; e.g. solving functional errors in processes because of asynchronous communication and more.
Of course
Oracle products and technologies were, very delicately, advertised as best suited to help solving the problems at hand. How and with what wasn’t discussed.
The program ended with a lot of car racing sound (noise) and a speech about the history of -and current security in Formula 1 by Olav Mol and a ‘network reception’ with Dutch delicacies like ’stokjes sate’ and ‘bitterballen’.
I enjoyed myself much more because two of my current colleagues were there; I met and spoke with a friend and an Approach Alliance colleague to be.
You can download the presentations here.
Experiences with Vista and Oracle software (2)
A few months ago I wrote this blog about installing (Oracle) software on my new Vista laptop. I already installed these components several times on Windows XP, so I thought it would be a walk in the park. In the end, it took me a couple of days instead of hours …
There are lots of threads on the OTN forums -like this one- dealing with Vista. It turned out I wasn’t the only one struggling with it.
This blog is about installing Oracle SOA Suite 10.1.3.1 and patch 10.1.3.3 on Vista. Common errors thrown at me -some gave me nightmares
- were:
- OWSM configuration assitant fails.
- Error: Missing ormi[s]://host:port.
- This OC4J is configured to make JMX connections via RMIS and fall back to RMI if the RMIS port is not configured. The RMIS connection on the OC4J instance null on Application Server null is configured but a connection could not be established. The JMX protocol is specified by the oracle.oc4j.jmx.internal.connection.protocol property in opmn.xml.
I did three “batches” of steps to get it running:
- Perform the pre-installation steps as documented in the Oracle SOA Suite 10.1.3.1 and 10.1.3.3 installation guides. These contain the usual steps like configuring a loopback adapter, not using whitespace characters in directory names, having the right JDK, etc. These guides are bundled with the SOA Suite installation files when downloaded from OTN. Performing these steps is “business as usual”. However, these steps alone didn’t work.
- Perform some steps as documented in Metalink note 444112.1.
- Browse through the OTN forums for the remaining errors and stacktraces.
These last two “batches” consist of the following additional actions:
- Do not use underscores in your computer name. I had an underscore in it -love them since you can’t safely use whitespaces
- and I couldn’t run SOA Suite. See this forum post. - IPV6 is not supported with Vista. There are some compatibility issues between Sun’s JDK and the new IPv6 protocol. I explicitly disabled IPv6 by removing “::1 localhost” from my hosts file, disabling Internet Protocol version 6 (TCP/IPv6) for all my network adapters in the Windows network configuration, and added the following registry value (DWORD type) set to 0xFF:
HKEY_LOCAL_MACHINE, SYSTEM, CurrentControlSet, Services, Tcpip6, Parameters, DisabledComponents. This is documented in the Metalink note. You can also add the Java option “-Djava.net.preferIPv4Stack=true” to use IPv4 instead of IPv6. - Install, start, and stop Oracle SOA Suite as administrator (e.g. right-click and choose “Run as administrator”). Somehow this causes the relative paths in the Start Menu shortcuts to not resolve to the correct locations anymore. I changed these locations to absolute file paths. To do this, edit the [SOA Suite home]/bin/runstartupconsole.bat file and change the line containing “set ORACLE_HOME”.
- Firewalls and virus scanners are great when they are not hogging your system and/or block wanted messages. The latter happened on my laptop. I disabled the pre-installed security software since it blocked certain requests and replies from and to my local Oracle SOA Suite.
- I did an advanced install and used Oracle 10g XE as dehydration store since the pre-installed Oracle Lite database (Oracle SOA Suite basic install) crashed every now and then.
These errors can be really frustrating. Especially when you successfully install the exact same software on another OS within the hour and all your “Linux” and “XP” colleagues have Hello World running on Oracle SOA Suite
Hope this helps.
Master/detail inserts and native sequencing in Oracle ESB
The SOA Suite forum on Oracle Technology Network (OTN) contains several posts on the use and configuration of the Database Adapter. This adapter can be used to perform database-related operations such as inserts, polling, invocation of PL/SQL, and so on in your SOA-environment. Some of these forum questions relate to inserting XML data into master/detail tables and how to use native database sequences to populate primary keys and automatically update associated foreign keys. I wrote an article Invoice Processing in a Service-Oriented Environment that contains a step by step tutorial on how to achieve this.
Experiences with Vista and Oracle software
This is a quick overview of my attempts to install and run (Oracle) software on Microsoft Vista. A few months ago I got this new Dell laptop pre-installed with Vista Business. Last couple of years I mostly worked with 2000, XP and Unix/Linux so Vista was getting used to in the beginning; especially the enormous amounts of “Are you sure”, “Do you really want this?”, “You’re not allowed to do this”, etc. pop-ups (even more than XP had). Although I must admit that some of the new UI-stuff is real eye-candy.
Some general (and sometimes really frustrating) issues I ran into when trying to get Vista up and running was the new IPv6 network protocol and updated WPA stuff (my existing router and wifi configuration really had a hard time connecting to my laptop or vice versa – I’m not a network guru, maybe that’s the problem after all
, the new user account control (UAC) policy in Vista (I couldn’t stop some Windows services in the beginning even when logged on as admin) and the pre-installed firewall, virus scanner, etc. which made my (finally up-and-running) Internet connection and network adapter crash. So after some reboots and resetting my laptop to factory settings I thought I had the new Vista “under control”.
Time to install some real business software.
Up to now I have the following software up and running (didn’t really test all software extensively yet):
- Sparx Systems Enterprise Architect
- JDK 5 and 6
- Eclipse SDK
- Eclipse WTP
- Oracle BPA Suite
- JDeveloper 10g
- JDeveloper 11g – Technology Preview including SOA Suite and WebCenter
- Oracle XE 10g
- Oracle SQL Developer
- Oracle OC4J 10g
Some tips:
- Don’t use the standard Vista (un)zipper when unzipping software with long directory- and filenames. For example, I couldn’t run Eclipse WTP since the Vista unzipper didn’t extract all the extension files. This can be tricky since some installers won’t even indicate that all files are not properly unzipped. You can start Eclipse WTP, develop some code, but when trying to add a server, there’s nothing there to add?! Use another tool such as 7-Zip.
- Run all installations and configurations as administrator; right-click and choose “Run as administrator”.
- I ran into an error when installing a standalone OC4J. This was caused by compatibility issues between Sun’s JDK and the new IPv6 protocol. Trying to shut down OC4J returns an error indicating “Error: Missing ormi[s]://
: “. See this forum post for a solution. I simply added the -Djava.net.preferIPv4Stack=true
parameter to the OC4J startup command in oc4j.cmd. - Read the installation manual. Ok, I know this sounds a bit daft, but there are numerous forum questions in which it turns out people didn’t configure a loopback adapter, didn’t have the right JDK installed, etc. So after all, it’s really worth reading the manual.
- Make sure the directory structure for your Java and Oracle installations don’t contain whitespaces or symbols such as # or @. I only use letters, digits, dots and underscores. Not all software can handle other characters.
Ok, in the next couple of days/weeks I’m going to (or at least try to
install SOA Suite 10g (lot of forum posts on installing this on Vista), Oracle Database 10g Enterprise Edition and playing around with Coherence.
Oracle SOA Suite best practices guide
Justin Kestelyn blogged a little while ago about the release of the Oracle® SOA Suite Best Practices Guide 10g Release 3 (10.1.3.3.0). I did not find the time to read the entire guide yet (it has 272 pages in total), but you can easily use the guide as a reference to lookup information about transactions in ESB, file size limits, XML debatching with the File adapter, to name a few of the topics I did read.
The guide consists of two parts:
- Part 1. SOA Suite components. This part is not really about best practices, but explains the ins and outs of different SOA suite components. The term SOA Suite is not completely clear to me: in this case it is not what you download when you click on the link download SOA Suite. Maybe it refers to the concept SOA Suite. It covers Oracle BPEL process Manager, Oracle ESB, Oracle BPM Human Workflow (what a weird name is that???), Oracle Technology Adapters, Oracle Data Integrator and Oracle B2B, but not Oracle rules, Webservices Manager or Oracle BPA Suite.
- Part 2. SOA Suite performance best practices. This is the part that really talks about best practices. It contains configurations and examples from real use cases. Both the problematic configuration and the solution are described. This is really helpful when you are designing your system, or when you are troubleshooting performance. It covers JMS to database adapters, Oracle BPEL process manager, and Oracle Human Workflow.
This guide is not a best practices guide for designing or managing your SOA, but it is definitely the source of information when you are working with Oracle SOA Suite 10g. If the answer is not in there, there usually is a link to documentation that already exists. So apart from the title, I am very happy with this document. It might be a good idea to print it, 272 pages is a lot to read from a screen…
Automated build & deployment in OC4J 11g
Automated build & deployment is very important. Not only is it a condition for continuous integration, it helps prevent costly errors during development and build promotion.
Now pretty soon (hmmm, well, next year at least
, we will have this new Oracle stack: Oracle Fusion Middleware 11g. A lot of improvements, not only in ADF and SOA Suite, but also in the management of the application server and the different suites. One of the downsides is that you need to rewrite (and maybe re-consider) your existing automated build and deployment solutions. A lot of stuff has changed, the JMX interface for example. I wondered about the ant tasks….
I decided to write a very tiny ADF BC application in JDeveloper11g tp2 and deploy it to the standalone OC4J11g (Preview). Right away I ran into a problem: the runtime installer does not work (yet). Luckily, Steve Muench wrote a technote that explains how to fix that. It is written in May 2007, for preview 1. In preview 2, some of the libraries have ‘disappeared’. If you are following the steps that are described in the technote, you can skip copying %JDEV_HOME%\BC4J\lib\adfrcutils.jar and %JDEV_HOME%\BC4J\lib\connmbean.jar; they are no longer there.
Next I needed some tool to automate the build and deploy process. Since the Oracle application server and SOA Suite support Ant driven deployment, I decided to go with that for the deploy tasks. I wondered if I could still use the deployment task from the previous version as described in the deployment guide for version 10g.
To test it, I deployed the ADF BC application to an ear file in JDeveloper11gtp (I will get to build tools later in this blog), and ran the following ant task:
<target name="deploy" depends="init" >
<oracle :deploy userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
file="${deploy.dir}/${ear.file}"
deploymentname="${app.name}-ear"
logfile="${log.dir}/deploy-ear.log"/>
<oracle :bindWebApp
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
deploymentname="${app.name}-ear" webmodule="${app.name}-webapp"
websitename="${oc4j.binding.module}"
contextroot="/${app.name}" />
</target>
It works fine. The nice thing about JDeveloper11g is that the resources are project specific. This means that now the deployment profile for an ear file, will only take the connection that you need for this application. Not every connection that you have ever stored in the IDE.
Still, I don’t like to use the deployment profiles from JDeveloper. Managing the dependencies that are needed for your application(s) is really difficult. This gets worse if you have several different projects and workspaces. If want to do continuous integration you need ant or maven, or some other tool.
Ant soon becomes unmanageable when you have several artifacts and a lot of libraries. I had good experiences with Maven in the past, so I decided to have a go with Maven2.
There is a very nice post by Aino Andriesen on the Amis weblog. Unfortunately, the libraries that ADF uses have changed. This means you need to do some work to get them all listed in your pom.
- create a directory structure as described by Aino
- create an ant build file based on the project in JDeveloper. This will point you to all the jar files that are used by the webapplication. You don’t need to package all these files, these are the standard libraries needed to compile any ADF BC application
- add the jar files that end up in the ear file generated by JDeveloper deployment profiles as dependencies to the pom
- add the jar files to your local repository. You can use the following command for that:
mvn install:install-file -Dfile=[path-to-file] -DgroupId=[group-id] -DartifactId=[artifact-id] -Dversion=[version] -Dpackaging=jar - add the ant deployment task with Antrun plugin
You are done. If anyone is interested in getting the pom, just leave a comment and I will send it to you. All in all not so painful after all!
Eliminating paperwork by combining digital imaging tools, content management systems and SOA
It was once said that the advance of ICT technologies such as e-mail would reduce the cost of handling documents and be beneficial for the environment. It would result in less printed paper, right? Everything would be done digitally, right? Well, it doesn’t seem to work that way. Even while technology exists to store most information digitally, lots of organizations still have an archive filled with all kinds of printed documents (invoices, orders, etc.). This is costly (you have to build, rent and/or buy archive space) and not really ‘CO2-neutral’. Especially in case documents are delivered electronically.
One of the related problems is that the process of electronically storing documents has to be compliant with a growing number of standards and laws. ‘Just’ storing documents manually on a file system won’t do.
In a customer case the following technologies are/will be combined to accomplish certified electronic storage of documents:
- Scanners with OCR (Optical Character Recognition) software
- Process orchestration using services
- CMS (Content Management System)
How are these technologies combined?
Once documents arrive they are scanned. The OCR software outputs an image of the document and extracts metadata into an XML file. An automated process picks up the XML file, transforms its contents to a canonical data model and invokes a custom SOAP service, also passing the file location of the associated image. The invoked service then uses a Web Service API to store the image into a CMS database and uses the XML data to create and store metadata/attributes for the document.
Why are these technologies complementary?
While a CMS provides reliable and robust storage of electronic documents and provides multiple interfaces (both programmatic and UI-based), process orchestration and SOA implement traceable, auditable and robust processes governing the retrieval and storage of electronic documents. This in turn enables official certification in which stored documents are also ‘legal’ documents.
In this particular case Oracle products are used: the SOA Suite and Content Services (part of Oracle Collaboration Suite). But the same principal can of course be implemented using other technologies available on the market.
J-Fall 2007 and session titles.
On October 11th, J-Fall took place. Twice a year the dutch Java User Group (NL-JUG) organizes a conference. Sessions often have ‘real life’, or ‘in practice’ in the title. Often this is just a trick to attract people. The presentation that Martijn van Berkum (GX) gave about the Java content repository 2.0 was a pleasant exception. His session was titled: “Java Content Repository (JCR) 2.0 (aka JSR-283)”. He explained the specification very clearly, both the 1.0 and 2.0 version. Because GX uses it in their product WebManager he could share some real life experience with the audience. This, unfortunately, was not the case with “Real world usage of JBI”. Jos Dirksen knows a lot about JBI and Enterprise Integeration Patterns, but his presentation only had some code samples. That is not what I expect when the title says ‘Real world usage”. Project experience, examples of clients who used JBI and a specific product, is what I expect and want from a session like that.
The discussion “the Enterprise Architect confronts the Application Architect” also did not offer what the title promised, but this time I did not care. It was very nice to have a different format (discussion in this case). The subjects they talked about were very interesting and real. A session that delivered exactly what the title promised, was Duncan Mill’s presentation. The session was titled: “Controllers – The Next Generation”. He gave an overview (and did that very well, because he is an excellent speaker) of the different webframeworks and how these frameworks deal with the Controller in the Model-View-Controller pattern. If you are curious about PageFlow in ADF and how this compares with Spring Webflow and Seam, you can download the presentation in November from the NL-JUG site. Don’t forget to try the PageFlow stuff with JDeveloper 11 (technical preview). That is what I am going to do, too!
Bea SOA symposium
Today I visited the Bea SOA Symposium in Amsterdam. It was a very well organized event, with a nice mix between customer stories (business case from Zwitserleven for example), partner stories and BEA product sessions. One of the interesting differences between the Bea SOA stack, and Oracle is the distinction between orchestration of business services and the orchestration or construction of composite technical services with BPEL-like tooling. In the Oracle SOA Suite, all process orchestration is done with the BPEL engine. If you have a business process with coarse grained services and workflow, you use BPEL. If you have a composite service, you define it with BPEL. I even heard someone argue once, that you should program user interface navigation with BPEL as well. Bea, on the other hand, offers two different products. Aqualogic BPM suite to model business processes and do BMP. WebLogic Integration to create composite services. This fits with a common notion that Massimo Pezzini also talked about: there are different types of process flows in an enterprise. In a way using two different suites appeals to me: you can map your tooling (development and administration) nicely to the different layers of process flows in your organization. This in turn, maps to the different skills needed to define the different types of processes. Business oriented people will feel more comfortable with BPM suite, technical (JEE developers) with WLI. On the other hand, it seems needlessly complex: Every time you design a process, you need to decide what tool to use. You need people that understand the BPM suite and people that understand the WebLogic Integration. You need to support and administer both platforms, pay licence fees etc.
If you have any thoughts on the subject, drop me a note or comment on the blog. I am very interested in ideas and experiences with both approaches.
Blogs
- 25 Feb
-
05 Nov
Some tips & tricks on migrating SOA Suite 10g to 11g – Part 2
- 04 Nov
- 02 Nov
- 25 Oct
- 20 Oct
- 15 Oct
- 11 Oct
- 03 Oct
- 31 Jul
Loading ...