My series about BPMN 2.0 and its implementation in EMF as Open Source project is complete now.

It consists of the three parts:

  1. BPMN 2.0 Metamodel Implementation for Eclipse: Get it and Use it: An easy-to-read how-to guide describing how to download the code and do the first steps.

  2. Making of the BPMN 2.0 Metamodel for Eclipse: Merge and Conquer: An in-depth technical article describing how the EMF Metamodel was merged from the two official OMG inputs: XML Schema and CMOF Metamodel.
  3. BPMN 2.0 File Formats: With a Transformation to a Transformation : Describes the difference between the fwo official BPMN file formats XMI and XML and shows how XSLT transformation scripts can be automatically derived from the merged BPMN Ecore Metamodel.

The third article is a little different from the others, as it focuses more on XSLT. The other articles focus on EMF and Java.

Maybe you had the chance to visit the SAP TechEd, this week in Las Vegas or last week in Berlin.

If yes, and if you visited the BPM Roadmap talk or one of the hands-on session, you might have seen some cool new features:

  • The project codemame "Gravity" allows collaborative Business Process Modeling in a Web Browser.
  • The processes can be exported and imported into SAP NetWeaver BPM "Process Composer" for further refinement.

Indeed this marks the advent of BPMN 2.0 support in SAP NetWeaver BPM.

The feature is build with the open source contribution that I explained in the articles BPMN 2.0 Metamodel Implementation for Eclipse: Get it and Use it and Making of the BPMN 2.0 Meta Model for Eclipse: Merge and Conquer. Additionally there is a mapping that transforms the BPMN EMF model in memory to the internal Process Composer representation.

The BPMN importer is not only useful in conjunction with "Gravity". You could for example also sketch processes with Visio or other modeling tools (partly with third-party extensions). And then you import into Process Composer to complete the sketch drawing into an executable process.

According to the current BPMN roadmap, the exporter is planned as a downloadable add-in for Process Composer 7.20 and 7.30 as Beta early next year.

And the next release of SAP NetWeaver BPMN is planned to have full BPMN 2.0 Import and Export support.

I have posted the second article of my little series about the BPMN 2.0 Metamodel implementation for Eclipse.

http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/a0ec6d13-1ab4-2d10-dc87-c0a18d7f23c8

 

This part is highly technical and contains many in-depth tricks about EMF and what you can do it. You might find the article useful if you want to know how EMF reads and writes XML files and how you can use it to support standards like OMG BPMN 2.0 and others.

In my technical article about the BPMN 2.0 Metamodel Implementation for Eclipse there was a little mistake in the sample code (section "Code on it" on page 11).

Reason is that we planned to rename everything containing "Bpmn2" in the name to "Bpmn". As this didn't happen, the source code looks a little different. Here is the correct version, also containing the required import statements:

 

package org.eclipse.bpmn.sample;

import java.io.IOException;

import org.eclipse.bpmn2.Bpmn2Factory;
import org.eclipse.bpmn2.Definitions;
import org.eclipse.bpmn2.Process;
import org.eclipse.bpmn2.util.Bpmn2ResourceFactoryImpl;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;

public class Sample1 {

    public static void main(String[] args) throws IOException {
        Bpmn2Factory factory = Bpmn2Factory.eINSTANCE;

        Definitions definitions = new Bpmn2ResourceFactoryImpl().createAndInitResource(URI.createFileURI("c:/temp/sample.bpmn2"));
        Process simpleProcess = factory.createProcess();
        definitions.getRootElements().add(simpleProcess);
        simpleProcess.getFlowElements().add(factory.createStartEvent());
        simpleProcess.getFlowElements().add(factory.createEndEvent());

        ResourceSet resourceSet = new ResourceSetImpl();
        Resource resource = definitions.eResource();
        resourceSet.getResources().add(resource);
        resource.save(null);
    }
}
 

As promised in the last blog, I posted the the first of a series of technical articles about BPMN 2.0 – more specific about the BPMN 2.0 metamodel implementation that SAP contributed to Eclipse. 

You find it here:

http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/c04f0691-0a76-2d10-1098-ec518f7bdf68

 

This first article is quire practical and describes how users can download and use the BPMN metamodel and tree-based editor with Eclipse.

The next two articles will be more in depth, explaining the technical challenges to implement this OMG standard in open-source.

You might have heard that last week an important OMG conference happened in Minneapolis:

The work on BPMN 2.0 standard (Finalization Task Force) has been completed and handed over for final voting. The publication of the official standard is planned for September.

In the last month BPMN 2.0 became quite popular  - there is high visibility for the standard itself and all products and activities that are related to it.

The interest in BPMN 2.0 is also visible by the fact that 34 companies will participate in the BPMN 2.0 Revision Task Force.

I was great to work for the standard and shape it in a way that it really usable for the whole BPM community. I was mainly involved in the areas:

  • Diagram Interchange (see chapter 12 of the spec)
  • Automatic generation of XSLT files for transformation between XMI and XML
  • Implementation of BPMN 2.0 as Eclipse EMF Ecore
On the last two points I will post some more blogs or technical article.

PS: you find the (almost final) spec here.

 

SAP .NET Connector 2.0 (final) is available for download http://service.sap.com/connectors.

 

You need Visual Studio Professional (or higher) to install.

If you have a older version of SAP .NET Connector, deinstall it first. Also delete the "SAP Proxy" toolbox tab with all items.
Deinstallation of SAP .NET Connector 1.x can cause problems with Visual Studio. To fix them, execute the following command:
regsvr32 "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\vcpackages\csproj.dll"

 

As the things work fairly different from Version 1.0, here some tips to get started:

- Download the ZIP and extract the MSI.
- Installl it. You need Visual Studio 2003 beeing installed.
- Start Visual Studio.
- You see the documentation in "Content".
- Create or open a VB or C# project.
- Add new item "SAP Connector Proxy" (go down the list).
- Open Server Explorer.
- Select the "Data Connections" node and click on "Refresh" button. Do not right click and select "Refresh", but click the small button on top of the Server Explorer Window. You should see the SAP root node. If you still don't see it, perhaps you have a "Standard" Edition of Visual Studio that is not supported.
- Add your SAP Server nodes and drag Functions or BOR objects to the designer.

This weblog show how you can use a so called RFC callback with SAP .NET Connector 2.0 using some desgin time features.


Of cause you can do everything also programmatically.
Note that the design time features don't work with Beta version of NCo 2.0.



1. Create a C# or Visual Basic Windows Forms application.


2. Add a new SAP Connector Proxy called "Client.sapwsdl".


3. In Server explorer go navigate to or add a SAP server. The described functions should be contained in each.


4. Add a function filter for "STFC*".


5. Drag the function "STFC_CONNECTION_BACK" to "Client.sapwsdl" designer. You can also drag other STFC functions.


6. Add another new SAP Connector Proxy called "CallbackServer.sapwsdl".


7. Click on the background of "CallbackServer.sapwsdl" designer, go to property window and change "ProxyType" to "Server".


8. Drag "STFC_CONNECTION" to "CallbackServer.sapwsdl" designer.


9. Delete "CallbackServerImpl.cs / .vb" in Solution explorer, right-click "CallbackServer.sapwsdl" and select "Run Custom Tool". This is to update CallbackServerImpl.cs".


10. Open CallbackServerImpl in Code view and delete the sample Main function (this is not needed in VB).


11. Fill the implementation of "Stfc_Connection", e.g. like this:
Echotext = Requtext;

Resptext = "Hello from Callback";


12. Compile, then open Form1 windows forms designer and drag a "Client" and a "CallbackServer" instance from the "SAP Proxy" toolbox.


13. From the Server Explorer drag your SAP server icon to create a destination to it.


14. Select the "client1" object and set the property "Connection" to the dragged destination and the property "CallbackServer" to the "callbackServer1" instance.


15. Add a button with handler like this:

string resultText, echoText, noBack;

client1.Stfc_Connection_Back("1", "Hi", out echoText, out noBack, out resultText);


16. Run in debugger and see how callbackServer1's "Stfc_Connection" method is called inside the client call.

 

 

 

SAP .NET Connector 2.0 is available for download as a Beta version from http://service.sap.com/connectors.

As the things work fairly different from Version 1.0, here some tips to get started:

- Download the ZIP and extract the MSI.
- Installl it. You need Visual Studio 2003 beeing installed.
- Start Visual Studio.
- You see the documentation in "Content".
- Create or open a VB or C# project.
- Add new item "SAP Connector Proxy" (go down the list).
- Open Server Explorer.
- Select the "Data Connections" node and click on "Refresh" button. Do not right click and select "Refresh", but click the small button on top of the Server Explorer Window. You should see the SAP root node.
- Add your SAP Server nodes and drag Functions or BOR objects to the designer.

Actions

Filter Blog

By date: