How to use JBPM Process Modeller in an external GWT code? - gwt

I'm trying to integrate JBPM with my GWT project and I want to create Process Definitions and Instances, using REST Remote APIs.
For the creation of Project definitions, can I integrate the process modeller from the KIE workbench into my GWT code (something similar to iFrame)? Does JBPM expose any APIs to do that? or is there any GWT component which could render this external component?
I don't want to use iFrame, because according to one of the JBOSS documents I was reading, "The designer opened in stand-alone mode using the link: http://localhost:8080/designer/editor?profile=jbpm&uuid=123456 allows you to only view existing processes, and not save any edits nor create new ones."
This would hold good even if I use the designer using iFrame? How do I make sure that the edits are saved?
Any help will be much appreciated.

There is no API for remote process modelling. However, you can embed various bits of the kie-workbench in your web application using iFrame.
More info can be found here
http://docs.jboss.org/jbpm/v6.3/userguide/ch09.html#wb.Embedding
Embedding Workbench JBPM In Application

Related

How to access SAP backend tables using SAPUI5?

I'm totally new to SAPUI5 and after learning the classic Dynpro and developing on the SAP GUI I got a few questions about how SAPUI5 works.
As SAPUI5 is developed in Eclipse I'm interested how it could get data from a SAP NetWeaver table.
Do I need a remote call for that? And how does the Eclipse program connect and communicate with NetWeaver?
I didn't find an answer to that, maybe it's just too simple.
Maybe someone have some tips or best practice to share?
Thank you.
SAPUI5 apps are running inside the user's browser and connect to any server with HTTP. This is actually the very standard way of creating client-side web applications. You can use any kind of HTTP server as long as they offer the data at a URL and offer the data in a well-known format like JSON or XML, but when you have a Netweaver server, Gateway and using OData would be the recommended way to go.
Don't think too much about Eclipse. It is not at all required to develop SAPUI5 applications, it just used to be a well-supported editor with additional plugins in the past. Actually SAP WebIDE would be the best-integrated editor now, but you can still use anything from vim to Notepad.
There are plenty of Gateway/SAPUI5 guides on the web, also the official UI5 documentation contains chapters about getting data from the server with OData. I'd recommend doing the entire walkthrough to any beginner!
You have to write a service (as far as I know preferably using SAP NetWeaver Gateway) to expose whatever data and operations you wish to access from the back-end system.

Alfresco as App development framework?

I was surfing the Internet where I found an article saying that Alfresco is a Content Management Framework as well as App Development Framework. While I understood it as Content Management Framework, I am not able to know about it as an App Development Framework.I tried researching over it, but could not find anything viable.
I want to know that how Alfresco can be used as an App Development Framework ?
Hi Alfresco has an application development framework, more info here:
Guides: https://community.alfresco.com/community/application-development-framework/pages/get-started
Angular 2 components repository: https://github.com/Alfresco/alfresco-ng2-components
Alfresco App Yeoman generator: https://github.com/Alfresco/generator-ng2-alfresco-app
JavaScript API repository: https://github.com/Alfresco/alfresco-js-api
Some videos:
https://www.youtube.com/watch?v=-OFI3izSDdk
https://www.youtube.com/watch?v=kjOgVbINAyU
In case you want a live support you can use the Gitter channel: https://gitter.im/Alfresco/alfresco-ng2-components
Well, if for App is meant mobile application, Alfresco has a Mobile SDK available for both iOS and Android which can help you create your own application to work against the Alfresco Platform.
Moreover there is another framework called Aikau which has one main goal
The main purpose of Aikau is to provide a library of widgets that can be easily assembled into a web application for accessing an Alfresco repository. The aim is not to replace Share but it was necessary to migrate away from its original implementation, which was based around the Surf paradigms of pages, templates, components and web scripts, towards a solution that provided for rapid development and customization.
This feature was first introduiced in Alfresco 4.2 and then extended in Alfresco 5.0
If you want to build applications for Alfresco you have a number of options available to you - as mentioned you can build mobile applications (and there are SDKs available to do this).
If you want to build web applications then you have the option of either customizing the default Alfresco Share client (which is built on top of the Alfresco Surf framework using a combination of YUI 2 and Aikau). Alternatively you can built your own web client by building a new client with the Maven Aikau Archetype.
The advantage of the Surf framework is that it takes care of Alfresco authentication across all the various APIs (WebScript, CMIS, Public API, etc) as well as providing lots of security benefits (CSRF, XSS white-lists, etc).
The advantage of using Aikau is that it provides a large number of out-of-the-box widgets that are specifically designed to work with Alfresco data and address Alfresco (ECM) specific use cases.
You are of course not limited to these options - you can build an application on top of any stack you wish, but ultimately you will want to be making use of the REST APIs that the Alfresco Repository provides.
Depending upon the application you are building you may also want to build custom data models and build in workflow via Activiti BPM as well.

How to use alfresco java API to submit form values

I have developed one spring based java web application. In my project it is requirement to use alfresco as a CMS. For this I want to integrate this application with alfresco. So I decided to use alfresco java API's.
http://dev.alfresco.com/resource/docs/java/
But I am not getting how to use those API's to complete backend work of my web application. Suppose I would like to submit one form having user name & password fields in it. After click on submit button how can I handle request in backend so it will use Alfresco java API to process request and store details in database.
I have to do many operations in my project like upload file, play with documents, Submit different forms. view those forms etc.
My first question is am I going in right direction by using alfresco java API's. if yes then how can use those API? is there any other way to do this?
Any help would be appreciate!!!
Thanks in Advance,
Kailas Salunke.
Well, based on my experience, Alfresco is an excellent ECM but not suitable for being a CMS.
Apart from that, it is difficult to give suggestions, starting from the very general overview you have given, but things like user name and password have little to do with an ECM and storing of data in a database.
You have two options available.
One involve using the Web Content Management Quick Start, it's a Spring Surf app you can (not easily in my opinion) customize for your needs.
The other solutions, if you have an existing web app, rather than develop your own API have a look at CMIS, I have put a simple wikipedia explanation, you can dig further from there.
Then, when you are ready, have a look at Alfresco CMIS first, and the most used Java API for doing CMIS call, which is Apache Chemistry
CMIS, in its intent, guarantee that Alfresco could be replaced with any other CMIS compliant ECM. You can easily integrate Apache Chemistry in your Spring app.

Custom UI for running Activiti Based BPMN work flows

One of the main driving factors to use a modern work flow engine like Activiti is it’s support for cloud and multiple tenancy. Our current in house work flow engine lacks these features. So, we are planning to replace it with Activiti.
The current thought process is that we would run Activiti as a standalone (independent) application. Our Application (multiple instances) would interact with the Activiti App using the REST APIs.
Since our current work flow engine is embedded, so is its UI. This means that the work flow pages like user forms etc are rendered as part of our application. We want the UI to remain same so that the transitions for the end users is transparent. So, we cannot reuse the Activiti Explorer, let’s say be rendering Explorer pages within our UI or redirecting to Explorer UI.
This means that we would need to create a UI for Activiti within our web application. Our web application is Struts and Applet based. We are open to use HTML5 but not Spring. My thoughts are that we would need to develop a generic UI framework that would render the BPMN user forms. Are there any Struts/Applet based framework available for this. Behind the scene, an Java API would need to be developed that interact with Activiti Engine using the REST APIs.
Any thoughts/references about how I can go about developing the UI.
Even I am looking for custom UI for Activiti. Little googling has given me the below (apart from Vaadin), but did not found much help around using it for Activiti
http://www.jorambarrez.be/blog/2013/09/03/brazos-for-activiti/
https://github.com/minikomi/Bootstrap-Form-Builder
Also it seems the out-of-the-box activiti explorer UI is hard-wired and not customizable - http://forums.activiti.org/content/ui-customization. Does it mean...no one is using Activiti explorer in production?
Guidance from someone who has someone has gone through this cycle and used custom UI will be really helpful.
Another approach could be XForms. For example, Orbeon (http://www.orbeon.com/) is a java-based XForms Engine which can be used as stand-alone server. In addition, orbeon offers a servlet filter to integrate the XForms-Rendering in your own application.
We realized an XForms-Integration with Activiti and it works very well. Hope this helps.

Sharepoint hosted CRUD Application? (Entity Framework?)

I am going to create a basic "CRUD" application that will "live" inside Sharepoint 2010. The data will be hosted on a SQL 2008 R2 Server.
Basically, there will be a few "Add" forms, some Queries and some Reporting (SSRS).
Honestly, the application doesn't really even need Sharepoint, but we are trying to get as many of these applications hosted inside Sharepoint as possible. (The application is currently a Microsoft Access application.)
I have experience creating these types of applications (ASP .Net) and have recently been using the Entity Framework. Generally, I design my Data Layer in a seperate Visual Studio Project (using EF) and then extendthe partial classes it creates and/or sometimes create another POCO layer to access the data (depending on how much "business logic" there is).
Anyway, the question I have is:
If I create a (Visual Studio) Solution (I know I have to target .Net 3.5, since because SP doesn't support 4.0 yet), can I use my usual "layered" design and create a seperate project (assembly) that conaints all of my Data Access (Entity Framework) and then have a seperate Project that contains all of the Visual Web Parts (that we design the Data Entry Forms in)? Will this work? Will I be able to call the exposed methods from the (EF) DAL from within the Visual Web Parts (after I deploy my solution to the SP Server)? Will I have to do anything "special" or will both projects get packaged up into a (what is it) "wsp" file and get deployed to SP? (Or, will I have to manually get my DAL Assembly added to the GAC, etc.)
Any examples or tutorials would be a big help to me too.
Also, if you think I am going about this all wrong, I am also interested in knowing how you would create a similar appliation. Is there a better way to do this? (I know I could create a BDC Model and access our SQL data via a Sharepoint List using the External Content Type. Although, for some reason it just seems like that isn't the "right path" for this particular application... I can't put my finger on it, but I am leaning toward just creating a "traditional" ASP .Net app that just uses SharePoint as its "hosting web server".)
Thanks!
Shayne
Can you do it: yes. Should you do it: probably not.
You hit it on the head. You are creating and ASP.NET application, not a SharePoint application.
Anyway, assuming you are going to have to proceed in this manner, here's my advice.
Build the presentation layer (web parts, application pages) using the SharePoint project template and SharePoint project items. This project can reference the assemblies that implement the remaining layers of your application. Visual Studio will then prepare a Solution Package (WSP) that can be used in testing and deployed to production servers.
You should do everything you can to make your application "fit" into SharePoint. It should use the same UI metaphors, respect branding, and so on. Nothing is more jarring to a user then to have pages and web parts that look and behave total different to SharePoint in the middle of a SharePoint site.
If you have the full version of sharepoint you can use Access Services, which will convert your Access application to a web app, just run the wizard
see this video for details: http://channel9.msdn.com/Shows/Access/Microsoft-Access-2010-Demo