현재 위치 - 중국 분류 정보 발표 플랫폼 - 비즈니스 서비스 정보 - Activiti 온라인 디자인 -Activiti6.0 에서 양식을 디자인하고 연결하는 방법 ?

Activiti 온라인 디자인 -Activiti6.0 에서 양식을 디자인하고 연결하는 방법 ?

Activiti6 의 프로세스 편집기가 자체 프로젝트에 통합되는 방법

커피토끼와 관련된 기술 블로그를 보실 것을 권합니다.

웹 링크

,

Activiti6 및 activiti5 통합 방식 일관성

1. 왜

를 통합해야 합니까

Activiti 버전 5.10 은 원래 독립 실행형 ActivitiModeler 모듈을 ActivitiExplorer 에 통합하여 사용하기 쉬우며, Modeler 를 통해 설계된 프로세스 모델을 엔진에 직접 배포하거나 이미 배포된 프로세스를 Model 로 변환하여 Modeler 에서 편집할 수 있습니다.

실제 응용 프로그램에서도 이러한 요구가 있습니다. Modeler 를 비즈니스 시스템에 통합하면 관리자가 사용할 수 있거나 BPM 플랫폼의 일부로 존재할 수 있습니다. 유감스럽게도 공식적으로는 Modeler 통합 방법에 대한 문서를 제공하지 않았습니다.

2. 통합 작업

2.1 소스 코드 다운로드

먼저 Github 에서 소스 코드를 다운로드해야 합니다.

2.2 파일 복사

복사된 모든 파일은 activiti-webapp-explorer2 디렉토리에 있습니다.

Src/main/resources 의,, 프로젝트 소스 코드에 대한 소스 코드 루트는 컴파일 후 classes 루트

에 있음을 보장합니다

Src/main/webapp 의 API, 편집기, 탐색기, libs-프로젝트 webapp 디렉토리 (WEB-INF 디렉토리와 동일)

2.3 종속성 추가

12345678910112131415161718192021222324

Lt; Dependencygt;; _ __lt;; Groupidgt;; Lt; /groupidgt; _ __lt;; 아티팩트; Activiti-explorerlt;; /artifactidgt; _ __lt;; Versiongt;; 5.14lt;; /versiongt; _ __lt;; Exclusionsgt;; _ _ _ ____lt;; Exclusiongt;; _ _ _ _ _ _ _ lt; 아티팩트; Vaadinlt;; /artifactidgt; _ _ _ _ _ _ _ lt; Groupidgt;; Lt; /groupidgt; _ _ _ ____lt;; /exclusion gt; _ _ _ ____lt;; Exclusiongt;; _ _ _ _ _ _ _ lt; 아티팩트; D charts-위젯 lt; /artifactidgt; _ _ _ _ _ _ _ lt; Groupidgt;; Lt; /groupidgt; _ _ _ ____lt;; /exclusion gt; _ _ _ ____lt;; Exclusiongt;; _ _ _ _ _ _ _ lt; 아티팩트; Activiti-simple-workflowlt; /artifactidgt; _ _ _ _ _ _ _ lt; Groupidgt;; Lt; /groupidgt; _ _ _ ____lt;; /exclusion gt; _ __lt;; /exclusions gt; Lt; /dependency gt; Lt; Dependencygt;; _ __lt;; Groupidgt;; Lt; /groupidgt; _ __lt;; 아티팩트; Activiti-modelerlt;; /artifactidgt; _ __lt;; Versiongt;; 5.14lt;; /versiongt; Lt; /dependency gt;

2.4 Java 클래스 추가

프로젝트에 저장할 클래스를 추가하고 일부 REST 라우팅을 등록했습니다.

123456789101121314151617181920212223242526272829

Package;;

Import;; Import;; Import;; Import;; Import;; Import;;

Publicclassexplorerrestapplicationextendsactivitirestapplication {

Publicexplorerrestapplication () {_ _ super (); _} _/* * * _ * createsarootrestletthatwillreceiveallincomingcalls. _ */_ @ override _ publicsynchroo _ _ (); _ _ (루터); _ _ (루터); _ _ jsonpfilterjsonpfilter = newjsonpfilter (getcontext ()); _ _ (루터); _ __returnjsonpFilter;; _}

}

2.5 구성

파일에 다음과 같은 구성을 추가합니다.

1234567891011213141516

Lt; ! --Restletadapter, usedtoexposemodelerfunctionalitythroughrest-gt; Lt; 서브렛 gt; _ __lt;; 서블릿-이름 gt; RestletServletlt;; //servlet-namegt;; _ __lt;; 서블릿-클래스 gt; Lt; /서블릿-classgt; _ __lt;; Init-paramgt;; _ _ _ ____lt;; ! -애플리케이션 클래스 이름--gt; _ _ _ ____lt;; Param-namegt;; Lt; //param-namegt;; _ _ _ ____lt;; Param-valuegt;; Lt; /param-valuegt; _ __lt;; //init-paramgt;; Lt; /서브렛 gt;

Lt; ! --Catchallservicerequests--gt;; Lt; 서브렛-매핑 gt; _ __lt;; 서블릿-이름 gt; RestletServletlt;; //servlet-namegt;; _ __lt;; Url-patterngt;; //service/*lt;; //url-patterngt;; Lt; /서블릿-매핑 gt;

2.6 컨트롤러

SpringMVC 를 사용하여 간단한 패키지를 만들거나 다른 MVC 구현을 사용할 수 있습니다.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 8182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613 71381391401414214314414514614814915015152153154155515615715815916016162163

Package;;

Import;; Import;;

Import;; Import;;

Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;; Import;;

/* * * 프로세스 모델 컨트롤러 * * @ authorhenryyan */@ controller @ requestmapping (값 = "/workflow/model"))

Protectedloggerlogger = (getclass ());

@ autowired _ repositoryservicerepositoryservice;

/* * _ * 모델 목록 _ */_ @ requestmapping (값 = "목록") _ publicmodelandviewmodellist () {_ _ _ __Listlt;; 모델 gt; List = (). list (); _ _ ("목록", 목록); _ __returnmav;; _}

/* * _ * 모델 생성 _ */_ @ request mapping (값 = "생성") _ public void create (@ request param ( @ requestparam ("description") string description, _ _ _ _ httpservletrequestrequest, httpservletrest _ _ _ objectnodeeditornode = (); _ ___("id ","canvas "); _ _ _ ("

ResourceId ","canvas "); _ _ _ objectnodestencilsetnode = (); _ ___("namespace ","# "); _ ___("stencilset ",stencilsetnode); _ _ _ modelmodeldata = ();

Objectnodemodelobjectnode = (); ___(_NAME, name); ___(_REVISION, 1); _ _ _ description = (설명); ___(_DESCRIPTION, description); _ _ _ _ (()); _ _ _ (이름); _ _ _ ((키));

(모델 데이터); _ _ _ ((), (). getbytes ("utf-8"));

(() +"/service/editor? Id = "+()); __}catch(Exceptione){___ ("모델 작성 실패:", e); __}_}

/* * _ * 모델 배포 프로세스 _ */_ @ requestmapping (값 = "deploy/{Model}") _ public string depping 에 따라 _ _ _ objectnodemodelnode = (objectnode) new objectmapper (). readtree (()); _ _ _ byte [] bpmnbytes = null;

Bpmnmodelmodel = newbpmnjsonconverter (). converttobpmnmodel (모델 노드); _ _ _ bpmnbytes = newbpmnxmlconverter (). convert to XML (모델);

Stringprocessname = ()+"."; _ _ _ deploymentdeployment = (). name ()). addstring (processname, new string (BPM nbytes)) _ _ _ ("메시지", "배포 성공, 배포 id ="+()); __}catch(Exceptione){___ ("모델 배포 프로세스에 따라 실패: modelId={}", modelId, e); _ _} _ _ return "redirect:/workflow/model/list"; _}

/* * _ * model 의 XML 파일 내보내기 _ */_ @ requestmapping (값 = "export/{modelid}") _ public void exxx _ _ _ bpmnjsonconverterjsonconverter = newbpmnjsonconverter (); ___JsonNodeeditorNode=newObje

Ctmapper (). readtree (()); _ _ _ bpmnmodelbpmnmodel = (편집기 노드); _ _ _ bpmnxmlconverterxmlconverter = newbpmnxmlconverter (); _ _ _ byte [] bpmnbytes = (bpmnmodel);

Bytearrayinputstreamin = newbytearrayinputstream (bpmnbytes); ___(in, ()); _ _ _ stringfilename = (). getid ()+"."; _ _ _ _ ("컨텐트 분배", "attachment;; Filename = "+filename); _ _ _ (); __}catch(Exceptione){___ ("model 의 XML 파일 내보내기 실패: modelId={}", modelId, e); __}_}

} lt; /pregt;

###2.7 참고 사항

Spring 에이전트 엔진을 사용하고 main/resources 또는 test/resources 디렉토리에 관계없이 프로젝트에 파일이 있는 경우 엔진에 다음 구성 매개 변수를 추가합니다. 그렇지 않으면 Modeler 의 편집 페이지를 열 때 데이터 읽기 반환 **204** 가 발생합니다

Lt; Preclass = "brush: XML" gt; Lt; Property name = "processenginename" value = "test" gt; Lt; /propertygt; Lt; /pregt;

엔진 기본 이름은 default 이고, () 쿼리는 먼저 main/resources 를 검색한 다음 test/resources 의 및 파일을 검색하므로 main/resources 가 지정된 파일을 모니터링할 수 없을 때 엔진이 웹 응용 프로그램의 엔진 객체로 간주되어

##3. 중국어 왜곡 문제 해결

JVM 매개 변수에 매개 변수 추가:

Gt; -=UTF-8-=UTF-8

* * 참조 * *: [ActivitiModeler 에서 설계된 프로세스에 홀수 개의 중국어가 포함된 경우 문제를 배포할 수 없음 ](

##4. 효과 스크린 샷

ActivitiModeler 는 최신 kft-activiti-demo 버전 (1.7.0) 에 통합되어 온라인으로 액세스하거나 소스 코드를 다운로드하여 구성 방법을 배울 수 있습니다.

로그인 [

! [kft-activiti-demo 의 효과 스크린샷 ](/files/2013/03/)! [kft-activiti-demo 의 효과 스크린샷] (/files/2013/03/) lt; /모델 gt; Activiti6.0 에서 양식을 디자인하고 연결하려면 어떻게 해야 합니까?

링크 사용자 작업이 추가되었으며 스크립트, 스타일, WebAPI; 뿐만 아니라 새 양식을 추가하면 됩니다. 링크 사용자 작업이 삭제되면 이전 버전의 프로세스 정의를 고려하기 위해 해당 양식이 유지되어야 하며 삭제할 수 없습니다. A-링크에 두 개의 필드를 추가하고 B-링크에 두 개의 필드를 줄이는 등 링크 사용자 작업이 수정되었습니다. 이때 A, B-링크에 대해 각각 양식을 다시 만들고 스크립트, 스타일 및 WebAPI 를 다시 만들어야 합니다. 양식이 변경되면 비즈니스도 변경되고 SQL (테이블) 도 변경됩니다. "Activiti 실전" epub 다운로드 온라인 전체 텍스트 읽기, 바이두 인터넷 클라우드 자료 찾기

"Activiti 실전" 전자책 인터넷 디스크 다운로드 무료 온라인 읽기

링크:

추출 코드: xdni

제목: Activiti 실전

콩잎 점수: 7.2

저자: 홍뢰

출판사: _ 거꾸로 당빈들

출판년: 2015-1-1

페이지 수: 508

내용 소개:

"Activiti 실전" 은 독자에게 알릴 뿐만 아니라 Activiti 아키텍처, 기능, 사용법, 기교 및 모범 사례를 충분히 파악할 수 있는 실전을 바탕으로 합니다. 그리고 독자들에게 Activiti 의 소스 코드 구현, 디자인 패턴 및 PVM 을 깊이 이해하는 것만으로도 충분하다는 것을 알려 줍니다.

"Activiti 실전" 1 * * * 4 부: 준비편 (1~2 장) 은 Activiti 의 개념, 특징, 애플리케이션, 아키텍처, 개발 환경 구축 및 구성에 대해 설명합니다. 기본편 (3~4 장) 은 먼저 ActivitiModeler, ActivitiDesigner 의 두 가지 프로세스 설계 도구의 상세한 사용을 설명한 다음 BPMN2.0 사양을 자세히 설명합니다. 실전 (5~14 장) 시스템은 프로세스 정의, 프로세스 인스턴스, 작업, 하위 프로세스, 다중 인스턴스, 이벤트 및 리스너를 포함한 Activiti 의 사용, 기술 및 모범 사례를 설명합니다. 고급 편 (15~21) 은 웹 서비스, 규칙 엔진, JPA, ESB 등 다양한 서비스와 미들웨어를 통합하여 Activiti 가 엔진뿐만 아니라 실제로 BPM 플랫폼임을 설명하고 마지막으로 소스 코드를 통해 디자인 패턴과 PVM 을 분석했습니다.

작성자 소개:

홍뢰 (커피토끼) 선임 소프트웨어 개발 엔지니어와 건축가는 Activiti 에 대량의 코드를 기부했고, Activiti 의 중국 보급과 보급을 위해 많은 일을 했으며, 지역 사회에서 높은 위망과 인지도를 가지고 중국 Activiti 분야 1 위로 불린다. 수년 동안 OA, ERP 등의 시스템 개발 및 아키텍처 설계 작업에 종사해 왔으며, 워크플로우 엔진에 지속적으로 관심을 기울이고 깊이 연구하고 있으며, 현재 조랑말 구매차, 설계자, 회사 내 워크플로우 플랫폼 건설을 담당하고 있습니다.