I've recently began work on a new application using Morfik AppsBuilder 2.0. In sitting down to think about how it should work, I quickly came to the conclusion that I should actually break it down into more than one "Web Application" project.
The reason for this was that I wanted this application to publish a standard web services interface so that other systems could send it data updates directly and I wanted my own application to use the same web service entry points to do its data updates. This approach avoids redundant work in creating more than one way to update the data and helps make sure that all updates go through any validation you put in place.
This presented me with the issue of how to access the data for user display, as it seemed obvious that the actual database would reside with the "web services interface" module of the application as it was tasked with updating the data. The solution I came up with was to create an external Firebird data connector in the "user interface" module, that maps the tables from the "web services interface" module's database. This allows me to create forms and queries based on the other module's database and thus normally design the browsing interface for this Application.
The ideal solution for this scenario would have been to use the Web Services data connector and instead of an External Database connector. This would have let me concentrate all data access in the "web services interface" module and actually allowed me to have the "user interface" module build without any physical database knowledge or access. Unfortunately, though the publishing side of things for Web Service Data Sources seems to be working fine, the "client" side code seems to be broken in the Morfik FX 2.0.5.18.
The scenario which I am currently using, though not ideal as one module needs to have access to the other's database, seems to be working out quite well. I've always considered Morfik AppsBuilder a very convinient tool for quickly putting together a set of web services and my recent experiences seem to be only confirming this.
Labels: M2, SOA, Web Services
Morfik applications as front-ends for business process orchestration
1 comments Posted by Mauricio Longo at 10:11 AMRecently, during a meeting with several other people who work with Oracle business process orchestration tools such as BPEL, BPM and OSB, we discussed how you still need to write a customer facing application that interfaces with all the nice stuff you've put together in your service bus. Oracle's BPEL solution for example, makes it very easy to orchestrate a process through a series of Web Service calls, but has not provision for interfacing witth humans. Oracle BPM, on the other hand, does have the provision for creating human interfaces, but not the sort of interfaces you would like to expose to your customers.
This conversation got me to thinking that Morfik AppsBuilder with its facility for easily importing web services can be an ideal tool for creating such customer facing interfaces for business processes which are designed with these tools. It is quite easy to import web services in Morfik and it is, also, quite easy to use them. Morfik even provides a transparent proxy facility through the server side of your application allowing you to call web services from other sources than your own domain, should you desire to do so.
I did a short demo of Morfik, on my EEE PC, for two of the people in the meeting and even though it was running in the extreme conditions of such a tiny computer, both were quite impressed with the potential they saw in the tool. We separated that day right before lunch and when I got to the office after lunch there was already an email from one of these fellows to remind me to send him links and information about the product.
In hind site, it should have been obvious to me that Morfik would have been a great tool for just such a purpose. While developing what came to be Morfik AppsBuilder 2.0, Morfik played a bit around with the idea of orchestrating web methods on the server side in a fashion very similar to that used by Oracle BPEL or BPM to do so. This was eventually put aside as a feature for a future version, but the idea certainly had merrit and seems to be a great fit for the simplicity of web interface building in Morfik tools.
Labels: Oracle, SOA, Visual Design