Posts Tagged ‘BPEL’

Deployment of BPEL processes to SOA Suite fails after upgrade to 10.1.3.4

Ronald van Luttikhuizen March 12th, 2009

If you apply patch 10.1.3.4 to Oracle SOA Suite and use OID as security provider then you might run into the following problem when deploying your BPEL processes from JDeveloper or custom Ant scripts:

A problem occured while connecting to server [host] using port [port]: java.security.AccessControlException: access denied (com.collaxa.security.DomainPermission [domain] read)

If this is the case then open Enterprise Manager and check that the deploy_service application (which is a child application of orabpel and new in SOA Suite 10.1.3.4) is configured to use OID as security provider instead of file-based JAZN. Restart SOA Suite and deployment should work.

Configure application deploy_service to use OID as security provider

BPEL, Beehive and Service Repository at OOW

Ronald van Luttikhuizen September 29th, 2008

This recap of some interesting OOW2008 sessions is posted a bit later than expected since my baggage -including notes- was stuck on the airport for a few days. Coincidentally my baggage was stranded at the same airport for which I codesigned the new baggage handling system. Maybe software can have a grudge against its creator after all? Luckily it was another terminal than the one I transferred through.

BPEL PM
There were several interesting sessions on BPEL PM by Clemens Utschig and Robin Zimmermann on the new features in 10.1.3.4, upcoming features in 10.1.3.5, and some useful tips and tricks for problem solving BPEL projects. A summary of the new and improved features in the Oracle BPEL PM 10.1.3.4 patch can be found here. The main objective of this patch is to make the BPEL Console a one-stop-shop. It therefore mainly introduces administrative improvements. The most interesting of these are:

Lost BPEL instances
Actually these instances are not lost, they just don’t show up in the BPEL Console. This is due to rollbacks in asynchronous process instances that are not yet dehydrated. This can e.g. be the case when a time-out occurs and the global BPEL transaction is rolled-back. The problem is solved by using a separate transaction for dehydration and not doing the actual instance’s work in the same transaction as the dehydration.

Deployment plans
This looks very much like the deployment plans already available in Oracle ESB. These plans are used to extract most of the configurable process information that differs per environment. Such information includes URL’s and ports of invoked services, adapter-specific information like inbound file names, JNDI locations of JMS queues, database adapter names, etc. etc. Ant tasks can be used to deploy BPEL processes to a target environment with the configuration of that specific environment. This information is wrapped in a BPEL suitcase. Part of the environment-specific information -not all, especially adapter-related information- could already be externalized using customized Ant builds. When an ESB is used to wrap adapter functionality, the need for deployment plans is not as urgent.

Other improvements in the 10.1.3.4 patch include improved visibility of engine threading model, improved statistics collection, minimization of XML coding errors through compliance testing and enhanced debugging of XML payloads, improved automated recovery agent (this feature was disabled in previous releases), and collection of support information when creating service requests.

Note that some of the latest 10.1.3.3 MLR’s are not included in the 10.1.3.4 patch. You’ll need to apply patch 10.1.3.4 followed by some additional MLR’s to update to the newest version. A preview of the new 10.1.3.5 features are also available in the PDF.

Some other cool stuff presented at OOW2008:

Beehive
Oracle Beehive is launched. Beehive is an integrated, open, and secure collaborative platform. Sort of a new and improved OCS, but then build from scratch. It provides seamless integration with -and abstraction of- all kinds of collaborative tools and technologies such as mail, file system, content management, feeds, calendar, mobile devices, chat, protocols, etc., etc. This is done through the notion of team and personal workspaces. Beehive also includes a Web based interface. Integration with existing user-interfaces or building more advanced user-interfaces can be achieved through its Java API and/or WebCenter Suite. That way you would have a WebCenter frontend communicating with a Beehive backend. See the Beehive website and the Beehive forum.

Enterprise Repository
Some products that were lacking from the Oracle stack prior to the BEA acquisition were related to governance. In the beginning of smaller, integration-aimed, and not enterprise-wide SOA projects technology usually poses a bigger risk than governance. However, in the course of SOA-projects lack of governance quickly becomes the main risk. Next to the runtime Service Registry product from Systinet, Oracle Web Service Manager, and the Enterprise Manager SOA Management Pack that Oracle offers, governance support now also includes the former BEA product Enterprise Repository. This product supports and enables governance at design-time. With this product you can -among others- “harvest” BPEL projects to retrieve artifacts such as processes, WSDL’s, XSD’s, and so on. Enterprise Repository creates a taxonomy out of this and graphically presents this. This way one can see for example what XSD is used by what processes, what policies are attached to what processes, and if these policies are met. Later versions will automate the retrieval of runtime information to automatically determine whether policies such as service response times are met. Publishing repository information to the development environment instead of the other way around should also be possible in future releases.

And this was just a small portion of all the OOW2008 news! See OTN for more information!

Oracle & BEA: Single BPEL & BPMN runtime!

Lonneke Dikmans July 1st, 2008

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!

Read more...
Comments Off

BPEL has no goTo

Lonneke Dikmans October 30th, 2007

You might wonder why it is relevant. You could argue you have loops and switches to solve that. Let me illustrate it with two examples.

Example 1. BPMN in BPA Suite

When you use the BPA suite (10.1.3.3) to model your business processes in BPMN, you can transform the process to a BPEL process. This results in a BluePrint that can be opened in JDeveloper10.1.3.3 to add implementation details. One of the problems you run into, is the conceptual mismatch between the two modeling languages. BPMN is a graph oriented language (see this article where an example is shown) in which you are relatively free to move back and forth between steps. In contrast, BPEL is in its essence a block language, that follows a linear flow. When you represent a certain control flow in BPMN that involves moving back in the flow, you need to use another construct in BPEL to execute it, because BPEL has no goTo. You could argue that this is not a big deal, but in “On the Translation between BPMN and BPEL: Conceptual Mismatch between Process Modeling Languages”, Jan Recker and Jan Mendling explain why this is relevant. Apart from the semantical difficulties, you can run into practical obstacles. In the BPA Suite a certain transformation model is implemented to translate gateways into BPEL constructs. You can easily create a process that is valid BPMN, but that won’t translate to a BPEL process in the BPA suite. This can be a sign of either of the following problems:

  • BPEL is not the right implementation technique for the process you are modeling. Usually this is the case when you have a finite state machine where a lot of different state transitions are possible.
  • The process is not modeled correctly. Sometimes, generalizations are made on the wrong modeling level. For example, imagine a travel reservation process with a step ‘edit the reservation’. This step might return after each event. This can result in numerous loop backs. Instead, the process should move forward. For example, the first time you ‘edit the reservation’, you are completing the client data. After checking availability, you might change the flight date. Translating both of them into edit the reservation is a generalization that should be done in the implementation phase, not in the process design.

Example 2. BPEL as the Controller implementation in your MVC pattern

You run into the same thing when you are using BPEL for your navigation flow, as the controller implementation. This is possible in JBoss Seam, but also with Oracle BPEL and ADF Faces. There are several advantages when you use BPEL as a controller:

  • you can trace user steps (for support, e.g.) using the logging capabilities of BPEL
  • you can have long running sessions (go for lunch or home and resume your registration process for example) using the dehydration store
  • you can deploy a new flow separate from the running application

However, it has a couple of disadvantages:

  • page flows can have back buttons. This is not supported in BPEL. Of course you can ’simulate’ that by using loops or compensation handlers but this results in the same mismatch as there exists between BPMN and BPEL.
  • Performance hit. Every time somebody starts the webapplication, a BPEL process needs to be instantiated. This is a lot of overhead, that is not as scalable as a ‘regular’ web application.
  • you need to build a bridge between the web session and the process instance.

To conclude: whenever you catch yourself wishing BPEL had a goto, re-evaluate your process model and/or implementation choice, it is a sign something is wrong!

Bea SOA symposium

Lonneke Dikmans September 21st, 2007

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.

Oracle BPA Suite first impressions

Lonneke Dikmans March 2nd, 2007

Enterprise architecture should be based on business drivers and strategy, constraints from the organization like budget and time, and architectural principles. When you model an architecture for a product or project, the same thing applies. It is important that the proposed architecture reflects business drivers and adheres to certain principles.
There are several tools available in the market to design or model architectures and applications. A modeling tool should be practical and help you reach your goal. To be helpful it should have the following characteristics:

  • It should adhere to standards (like UML, BPEL, XMI)
  • It should be possible to trace relationships between different perspectives (functional, data and application, technical for example) and between the architecture and the business strategy, and stakeholders and concerns.
  • It should be easy to learn and easy to use
  • It should be possible to publish (parts) of the model to html or rich text format, to communicate with the business and IT people
  • It should be possible to import and export the model to other tools, to prevent vendor lock-in

The tool I have been using the last year and a half is Enterprise architect. It adheres to UML (not BPEL or BPMN), generates reports in html or rtf and is easy to use and to learn. It works well in JEE environments, supports reverse engineering and mda and is not very expensive.

Until recently, all Oracle had to offer was Designer or JDeveloper to model.
The problem with Designer is that it does not adhere to standards like UML and BPEL or BPMN. It is very good fit for projects and organisations that use CDM or CDM fast track and have traditional monolothic applications. It is not very useful when you are in a JEE or service oriented architecture environment. There are a lot of options and fields you can fill out. This makes it hard to learn. Once the model is in Designer, you can’t export it to another tool anymore, nor can you communicate it easily to the rest of the business. All you can do is export it to another repository or generate the fysical datamodel, PL/SQL code and or forms application.

JDeveloper on the other hand, adheres to standards like UML, XMI, BPEL and ERM. The problem is that there is no way to link different models together or publish the model in a webpage or report. It has limited possibilities which makes it easy to learn, but not always easy to use. JDeveloper is useful as a design tool for certain modules in your application, not to model the entire application or enterprise architecture.

At Oracle World, Oracle announced they added a new suite to the Fusion Middleware toolbox: Oracle BPA suite. It is marketed like this: “Oracle Business Process Analysis (BPA) Suite speeds process innovation by rapidly modeling business processes and converting them into IT executables. Oracle BPA Suite, based on the market leading IDS Scheer ARIS Design Platform, delivers a comprehensive set of integrated products that allows business users to design, model, simulate, and optimize business processes to achieve maximum operational efficiency. ” To me that sounded like a tool that limits support to BPMN, BPML and BPEL. JDeveloper already supports BPEL, so I never bothered to try it. If you look at the roadmap and overview of the suite, it also looks like a very process oriented tool.

Last week, we were looking into several options for modeling an architecture and we decided to have a look at the BPA suite. To my surprise it supports much more than just business process analysis. It allows you to model business objectives, application architecture and several other aspects of the architecture using different methods and standards (UML, BPEL, BPMN, etc).
It is very easy to install: you double click the setup.exe and then all you need to do is “next”, “next”, “next” and within half an hour or so you are up and running. It uses a database as a repository, so it might not be very easy to integrate with repositories, versioning systems or document management systems in your enterprise.
It can import and export in XMI, save diagrams in emf, and generate reports concerning consistency and violations of rules. It also has a publisher component which publishes the content to communicate with the rest of the organization.

The way the integration with JDeveloper and the development process is pictured in the road map, seems very complex to me: have a look at Scott Amblers site about agile modeling, before you get lost in this new and cool modeling suite and forget what IT is all about: adding value to the business. In some situations all you need is a whiteboard or a pencil and some paper….

But if you do need a tool: don’t forget to take a look at the BPA suite!

Read more...
Comments Off