API or code to draw BPMN 2.0 processes programmatically + C# - bpmn

Can any one suggest a solution for drawing process flow diagrams in BPMN 2.0 , flow charts, use case diagrams programmatically.
We are planning to read the input from an excel file. If getting some ideas we can change the input template as well.

You could try to use the BPMN Sketch Miner, which can generate BPMN in XML/SVG/PNG formats starting from textual descriptions of the diagram as input.

For simplistic BPMN diagrams, which mainly consist of a large collection of sequential acticities/ tasks, with a few gateways, using Zeebe's YAML workflows might be an alternative to defining a custom Excel format.
Creating a YAML workflow can be done with a regular text editor and does not require a graphical modelling tool. It is inspired by imperative programming concepts and aims to be easily understandable by programmers. Internally, Zeebe transforms a deployed YAML file to BPMN.

Related

Tools available for creating a BPMN file

Does anyone know if there is a free online tool available to create BPMN files except bpmn.io?
I have been using BPMN io for a while, and it does not allow me to change the task/event's ID from the GUI. Because of this, I have to do this manually. But it's not practical when there is a large number of events/tasks. Can someone tell me if there is a free online alternative for bpmn.io that can change the event's ID or if there is a way to change the id in bpmn.io? Did a background check on this and couldn't find one.
There is also the offering from Camunda - Camunda Web Modeler (CaWeMo). I don't think it does what you are asking though. I didn't think event IDs were part of the BPMN specification, since they are likely more about implementation than modeling, but I've not actually looked into the BPMN specification that deeply.
If the one you are using exports in a format that you find useful, you could update the event nodes as a post processing step.
You can try using https://kiegroup.github.io/kogito-online/#/editor/bpmn for bpmn authoring.

Domain specific language to perform data extraction and transformation in ETL pipeline

Does anyone of domain specific languages (DSL) that facilitate data extraction and transformation as part of an Extract-Transform-Load (ETL) pipeline?
I'd like to extract data from a 3rd party SQL database and transform the data to an already defined JSON format to store it into my application. There are many different possible database schemata to extract data from, so I was wondering whether there is already a way to configure this through the help of a (commonly used) extraction language (ideally that language is also agnostic to other data sources such as web services, etc).
I had a look around, but other than a few research papers I couldn't find much in terms of agreed standards for ETL (minus the 'L' which I've got covered) and I don't want to reinvent the wheel.
I'd appreciate any pointers in the right direction.
Creating a good, all-encompassing DSL for ETL is I believe not just hard, it's a bit of a fool's errand. To handle the many real-world ETL complexities, you end up re-creating a general-purpose language.
And ETL "without programming skill" as this research paper attempts will struggle with the messiness of cleaning and conforming disparate source systems.
Using a general-purpose language by itself is of course possible but very time consuming due to the low abstraction level, and all the infrastructure code you'd have to implement.
Graphical ETL tools and some ETL DSLs address this by adding scripts or calling out to external programs. While useful and essential, this does have the disadvantage of employing multiple different programming models, with associated mental and technical friction when moving between them.
A different and I believe a better approach is to instead add ETL capabilities to a general-purpose language. Done well, you combine the benefits of ETL specific functionality and a high abstraction level with the power of a general-purpose language and its large eco-system, all delivered via a single programming model.
As one example of this latter approach, my company provides actionETL, a cross-platform .NET ETL library that combines an ETL mindset with the advantages of modern application development. For example, it provides familiar control flow and dataflow ETL capabilities, and uses internal DSLs in several places to simplify configuration. Do try it out if it sounds like a good fit.
actionETL now also has a free Community edition.
Cheers,
Kristian

Code from Visio Drawing

Happy Monday Guys,
I have a question about visio.
I have a project where the user can input an UML-Diagram and at the end they receive an SCL-Code (Automation).
I have been thinking about using Visio, since it has UML-Diagram in it. But the question is if it is possible to generate the code from UML-Diagram in Visio. If yes, what is the output from Visio that can be processed?
Thank you
A standard for exchanging UML is XMI. It is described in the UML specification, well documented and is handled by most of the applications supporting drawing UML. I'm not sure if Visio can produce it, but Visio (like most MS produces) is rather poor at keeping standards and shouldn't be used as a reference.
So XMI as UML input is probably best solution for you.

Proper Merging of 2 Camunda bpmn files into one at system run time

I read Camunda BPMN Model API here, I am wondering if I can combine/merge two different predefined bpmn files into one bpmn file at runtime. I don't like parsing the bpmn files' xml content and combine it programatically.
What do you mean with merging/combining?
Two completely different BPMN Models? If yes: deploy them both and let them interact with messages.
So far I can merge the predefined BPMN models into one bpmn file by using activity call and linking the predefined BPMN models into it programatically.

Is there a way to autogenerate getters and setters using ArgoUML

I found ArgoUML (i'm open to other OOP UML tools if you have any suggestions - before I get too deep into my project).
Is there a way to automatically generate getters and setters for all attributes/fields?
If not, can you suggest a UML tool that can.
Thanks.
There are bunch of different free tools available for UML modeling and forward engineering your code through it.
We have used Eclipse Plugin to create UML diagrams that generates boilerplate code.
In case you are using java - You can also try AndroMDA which accepts UML files as input to generate a CRUD Java application.
I am sure there must be similar tools available for other languages too.
Check this SO thread - How to generate UML diagrams (especially sequence diagrams) from Java code
Before really getting deep into using UML you may also want to read this thread - Do you still use UML? How? What for?
and
Is UML practical?