Looking for PHP BPMN 2.0 and service bus 'esb' - php

Does anyone know a BPMN 2.0 designer/modeler and process execution engine based on PHP? In the same context, does anyone know an ESB accepting PHP script?

Does anyone know a BPMN 2.0 designer/modeler and process execution
engine based on PHP?
You could use probably almost every PHP framework like symfony to build some ESB functionality into your application but it generaly seems a bit odd to build an ESB in PHP. I don't think PHP is the right technology to that kind of architecture since PHP was developed to be a front end tool. This brings limitation like the lack of non-blocking execution, timeout problems, complicated handling of asynchronus processes.
In the same context, does anyone know an ESB accepting PHP script?
So my recommendation would be:
Check if you really need an ESB *
If you do, choose one among the stable systems, e.g. http://www.jboss.org/jbpm or http://www.mulesoft.org/
Integrate your PHP script as a service using webservices.
* An ESB is not something you can drop in like a jQuery Script so better think twice here.
Related question:
PHP and ESB (with Mule) (ESB: Enterprise Service Bus)

you could also use a mix of the camunda BPM tools (which all are open source).
The camunda BPM platform with camunda BPM PHP SDK or your own PHP solution via REST API and camunda BPM javascript renderer would provide the process execution and rendering of diagrams for e.g. monitoring purposes.
The camunda BPM modeler (Eclipse Plugin) deals with the modeling/design aspect.
You can find all these tools here

While not a BPMN suite, at least a bit of Workflow is part of ezComponents.
Please be aware, that ezComponents recently failed to get an Apache project after staying some time in incubator...

Related

PowerBuilder and PHP

Please excuse my distinct lack of knowledge in this field. Software development is not my forte.
I am currently about to commence work on a project of which there is a large system built using PowerBuilder with an Oracle Enterprise database to serve the data up.
I want to build a nicer interface for the system and believe it is possible to use web technologies (my background) to do so. Can anyone confirm if it is possible to use PHP with PowerBuilder or is there a way in which I can interface my build with PowerBuilder?
I don't think there is a "good" way to incorporate PB & PHP but if there is a will there is always a way.
One unusual but possible way of mixing the technologies might be to write an IIS handler with PowerBuilder.NET, or you could build the handler using Visual Studio and call a PowerBuilder .NET Assembly from the handler. I find it is easier to build the handler using Visual Studio myself because I had problems getting PB.NET to inherit from HTTPHandler or using the .NET interface. Doing this would be like re-inventing ASP.NET as it basically just processes .ASP files and kicks out HTML/Javascript/CSS,etc and you'd be writing a handler for a different file extension (say .pb or .powerbuilder) and spitting out your favorite web code based on what filename and/or arguments you used in the URL.
I made something like this not long ago just to see if I could do it and it wasn't too difficult. Eventually I'll post the code on my PB blog. I've seen another implementation of something like this using CGI which is older technology, not as good as using a handler for busy sites.
Again this probably wasn't the answer you were looking for but it is an answer. Good luck.

Python PHP Integration

I am facing a problem here which I could not find a good solution for it. I am developing a mobile web app using php and I need a rule based inference engine (open source) - expert system. The only one I could find was Pyke in Python. So I need to integrate Pykes' source code with my php implementation. My service provider is not allowing any commands such as exec for security reasons. I tried PiP (Python to PHP module) but it has a lot of bugs.
I'm not familiar with Pyke; but when this type of situation arises for me, I usually end up wrapping the Python code with a web-service. I then use PHP to make SOAP or cURL calls to the webservice.

php socket programming,Pros and cons and Approach

I am working on a task where it is required to distribute live data (being fetched from some other server) to client using sockets. We user drupal as a framework and thus my choice of PHP.
1)I want to know the major factors that should be taken into consideration while developing this server.Like security,authentication,load etc and how should i approach this.Is there any blog/article that could be of help.
2)Is there a better choice than PHP for this?
3)ALSO is there any drupal module that could assist me in this.
I can think about one issue when you are talking about several servers connecting to you, you may want to conceder a nonblock mode.
Because when you are working with blocking mod, each server can connect at the time, meaning that there will be delay delivering the message.
http://il2.php.net/manual/en/function.socket-set-nonblock.php
I think java would be better choise, multi thread may help here.
from my point of view, this is something that you need to develop your self, socket programming needs a lot of attention.
Drupal is a Web CMS, it can be used as framework for advanced web features or light to medium web application that fits well in the traditional HTTP request paradigm. IMHO, distributing live data from multiple servers to client using sockets doesn't fit with the base assumption behind Drupal's design.
PHP can be used to write socket server. It used to be un-common, but it is becoming more and more available. ReactPHP is a non-blocking I/O library/framework suited for socket programing. Racthet is a websocket server in PHP using ReactPHP.
In any case, this would ne nothing like developing a web application with RoR, Drupal, Django, Symfony, etc.
If integration with a Drupal website is required, the Service module is a nice solution to provides a REST or XML-RPC API. Or course, direct access to Drupal's MySQL database is also an option but will probably require more knowledge of the used Drupal modules since you will have to replicate their behaviors and understand how they manage their data (for instance, how a particular CCK field is stored in your database).
Note: Previous version of this answer included reference to the following solutions in other languages: Twisted (Python), EventMachine (Ruby) and Node.js (JavaScript). These are all valid solutions when PHP is not required.
Previous version of the answer also referenced phpsocketdaemon, but nowadays ReactPHP is a more clean and robust solution.

Web technologies for an embedded server

I've recently started a new web development project for an embedded device and wanted to solicit some recommendations for technologies to use. The device will serve HTML pages which include AJAX code to retrieve data from a JSON server. We're tentatively using Cherokee as the web server, though we're not tied to it.
Currently, I'm considering the following technologies:
Write it all in PHP. I know it's big, slow, and bloated, but I've got about 10MB available for the web interface (a lot for an embedded system), and we won't be seeing a lot of traffic on any of these devices. It does need to seem responsive for the users, however (pages should load in less than a second).
FastCGI + a C program - We're using an in-memory database, so the C program could interact with the database directly through the API. This would have much better performance than PHP, but development time and reliability is a concern since C isn't very well-suited for web development.
Lua + Kepler - This seems like a nice middle ground between performance and development time. However, I've never worked with Lua, so I'm not really sure how to implement it in an embedded web project. I'm also uncertain as to how well it integrates with the Cherokee web server.
So any opinions or past experiences with the above stated technologies? Any others I should include in the list?
Thanks,
Alex
When I was in this area, I used Lua and a simple FastCGI runner (Luaetta [for I'm sure the latest source would be available if you asked the guy] , though I'm also sure that's not the only one, and there's Kepler of course), spawned by lighttpd.
It performed quite well on an embedded media player, and was used for remotely accessing content and controlling the device. Though I don't maintain it anymore, you can find more about it at http://matthewwild.co.uk/projects/wooble . If you think the source would help just poke me for it, it's currently only available via a package manager but I can fix that given the motivation.
Another (again Lua) project in this area is LuCI. These guys are dedicated to making a web interface for embedded devices (routers specifically), and have produced a nice framework with lots of supporting libraries geared towards that kind of system.
I wouldn't be concerned with not knowing Lua. If you know any language then you can pick up Lua in a day or two, the manual documents the whole language and is quite short.
How about looking at HipHop, Facebook's PHP compiler?
https://github.com/facebook/hiphop-php/wiki
That way you can write your code in PHP and effectively compile it to C++.
ASP.NET. Assuming that you wouldn't be interested in Embedded Windows Server 2008, you could still leverage ASP.NET by incorporating Mono into Cherokee. You could leverage Visual Studio as your RAD development environment and use things like ASP.NET MVC 2. A lot of third party user controls will also 'just work' with Mono (Telerik Announces Support for their ASP.NET controls on Mono!).

Should I use PHP or PHP + Java EE?

I'm going to start a new project with instant message support.
I find that there is no good long polling solution in PHP, but there is some good ones in Java EE.
I'm wondering if I can integrate PHP and Java EE to get the function? Or should I just use Java EE instead of PHP?
Keeping the number of development platforms to a minimum is always a good idea. It will keep deployment requirements low, gives less operational complexity and gives the best possible integration.
If you want to replace PHP by Java, you have lots of frameworks you can use to replace PHP. A good option would be the Stripes framework it’s an easy to use MVC framework that does not need much configuration.
An other very workable solution would be using Java in the backend for filling the database. And use PHP in the frond-end and use the database to retrieve data. This way the integration is limited to a shared database.
If you would like to have a direct integration between PHP and Java, things start to get more complex. It could be implemented by either web services or the faster php-java-bridge. But I don’t think you need this and if you do, I would seriously consider migrating the whole project to Java.
For an implementation example of the php-java-bridge see: How to share session between Java and PHP
You CAN build your application with PHP together with Java EE. The PHP is to generate HTML, and Java EE supports Comet.
Actually, Facebook generates HTML with Apache server. I bet Facebook web pages are written in PHP. And the Comet server of chatting is written in ErLang hosted in Mochiweb. Two languages & servers works fine together.
The decision is up to your own preference.

Categories