Nthawi zambiri ndimakambirana za zomangamanga za microservice ndi anthu omwe si a Java: C # Madivelopa, Node.JS/JavaScript okonza, kapena Golang aficionados. Onsewa akukumana ndi mfundo yakuti amafunikira makina oimba muzomangamanga za microservice, kapena chida chokha chothandizira kayendetsedwe ka ntchito ndikupeza luso lokonzekera, kusamalira nthawi, Saga ndi kubweza ndalama.
BPM nsanja ndi open source kuchokera ku Camunda zabwino kwa ntchito zotere. Ubwenzi wa Madivelopa ndi chimodzi mwazinthu zofunika kwambiri pazogulitsa. Koma mukayang'ana zolemba zake, mutha kuganiza kuti "ubwenzi" wa Camunda umayang'ana kwambiri opanga Java. Pulatifomu imapereka njira zambiri zolumikizira ntchito zanu ndi zowonjezera, koma zonse zimachitika mu Java. Ndi zoona?
docker run -d -p 8080:8080 camunda/camunda-bpm-platform:latest
Simuyenera kuda nkhawa ndi Linux, JVMs kapena Tomcats. Ma Dockerfiles ndi zolemba zoyambira (mwachitsanzo, malangizo olumikizirana ndi nkhokwe zofunika) akupezeka pa Github.
Ndi momwemo - simunafunebe Java, sichoncho? Ndipo ndizokwanira kuti tiyambe!
Makasitomala Library
Kuyimbira REST API ndikosavuta m'chinenero chilichonse cha mapulogalamu. Mu JavaScript, izi zimachitika mosavuta pogwiritsa ntchito JQuery, ndi C #, pogwiritsa ntchito System.Net.Http ndi Newtonsoft.Json. Koma izi zitenga nthawi. Kotero inu mukhoza basi ntchito ena kasitomala laibulale.
Pakadali pano, malaibulale angapo opangidwa okonzeka a kasitomala alipo:
javascript: ΡΡΡΠ»ΠΊΠ°. Mothandizidwa ndi Camunda;
C #:ΡΡΡΠ»ΠΊΠ° ΠΈ ΡΡΡΠ»ΠΊΠ°. Ma projekiti onse awiriwa ali m'malo apakati komanso osagona, koma amatha kukhala poyambira bwino;
PHP: ΡΡΡΠ»ΠΊΠ° - sizokwanira kwambiri ndipo siziphatikiza zosintha zaposachedwa za API, koma ndikudziwa ma projekiti omwe amagwiritsa ntchito.
Kupatula JavaScript ndi Java, malaibulale amakasitomala sali gawo lazinthu za Camunda zokha. Osayembekezera kuti athandizira zonse za Camunda's REST API. Kungoti laibulale sapereka ntchito inayake sizitanthauza kuti kulibe, nthawi zonse onani Camunda's REST API. Ma projekiti amalozera amagwiritsa ntchito malaibulale ngati poyambira ndi template.
C # chitsanzo
Pogwiritsa ntchito laibulale yamakasitomala yomwe ili pamwambapa, titha kulemba:
var camunda = new CamundaEngineClient("http://localhost:8080/engine-rest/engine/default/", null, null);
// Deploy the BPMN XML file from the resources
camunda.RepositoryService.Deploy("trip-booking", new List<object> {
FileParameter.FromManifestResource(Assembly.GetExecutingAssembly(), "FlowingTripBookingSaga.Models.FlowingTripBookingSaga.bpmn")
});
// Register workers
registerWorker("reserve-car", externalTask => {
// here you can do the real thing! Like a sysout :-)
Console.WriteLine("Reserving car now...");
camunda.ExternalTaskService.Complete(workerId, externalTask.Id);
});
registerWorker("cancel-car", externalTask => {
Console.WriteLine("Cancelling car now...");
camunda.ExternalTaskService.Complete(workerId, externalTask.Id);
});
registerWorker("book-hotel", externalTask => {
Console.WriteLine("Reserving hotel now...");
camunda.ExternalTaskService.Complete(workerId, externalTask.Id);
});
// Register more workers...
StartPolling();
string processInstanceId = camunda.BpmnWorkflowService.StartProcessInstance("FlowingTripBookingSaga", new Dictionary<string, object>()
{
{"someBookingData", "..." }
});
Khodi yoyambira yogwira ntchito ikupezeka pa intaneti: ΡΡΡΠ»ΠΊΠ°. Chitsanzo china chikupezeka pa ΡΡΡΠ»ΠΊΠ°.
Chithunzi cha Custom Docker chokhala ndi "Camunda standalone WAR"
Monga m'malo mwa chithunzi cha Docker chopangidwa kale kuchokera ku Camunda, mutha kukonzekera Tomcat nokha (mwachitsanzo, kutengera zithunzi za Docker Tomcat) ndikutengera Camunda momwemo ngati imodzi mwazomwe zimatchedwa WAR.
Ngati muli ndi zofunika zina zambiri ndipo mutha kukhazikitsa malo omanga a Java, mutha kukhazikitsanso nkhondo ya Camunda Standalone. Konzani Maven kumanga monga zitsanzo izi: kumanga Maven ndi nkhondo config kapena msonkhano Maven ndi Overlay.
Kuyamba kugawa kwa Camunda Tomcat
Njira ina ndikungotsitsa kugawa kwa Camunda Tomcat, kumasula, ndikuyendetsa. Izi zimangofunika Java Runtime Environment (JRE) yoyika pa kompyuta yanu. Zingakhale zosavuta tsitsani kuchokera pano.
Kuti musinthe nkhokwe kapena kuchita china chilichonse chomwe mungafune kukonza Tomcat ngati zofotokozedwa mu zolembedwa. Ndikudziwa Tomcat ikhoza kumveka ngati yovuta, koma ndiyosavuta kwambiri. Ndipo Google imadziwa mayankho a chilichonse chomwe chingafuneke pakuchita izi.