<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    網路冷眼@BlogJava

    熙熙攘攘一閑人 以冷靜的眼光觀察技術
    posts - 88, comments - 193, trackbacks - 0, articles - 28
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    1.2 Speaking the BPM language (談談BPM語言)

    We already spoke about business processes and the BPM life-cycle, but there is a lot of other terminology used in the BPM space. Therefore we will look at the most important parts of the BPM language in this chapter to get up to speed for the rest of this book.

    盡管我們已經談到業務流程和BPM生命周期,但是在BPM空間里還有許多其它的術語。所以我們將在本章來看看BPM 語言的最重要的部分,以便加快本書后面的速度。

    1.2.1 Getting the big picture (獲取大圖)

    First, let’s look at the big picture of the BPM terminology by looking at a typical BPM architecture. Such an architecture is implemented by a business process management system or suite if you like (BPMS). There are a lot of software vendors who provide BPMS software (such as IBM, Oracle, Tibco, Intalio and of course Alfresco with Activiti), but all their suites contain similar tools. Figure 1.3 provides an overview of a typical BPM architecture.

    首先,通過典型的BPM架構,讓我們來認識BPM術語的大圖。通過一個流程管理系統或者套件來實現這個架構。有許多軟件商提供BPMS軟件(比如IBM,Oracle,Tibco,Intalio,當然開發Activiti的Alfresco),但是他們的套件包括相似的工具。圖1.3提供典型架構的概況。

    image

    Figure 1.3 An overview of a typical BPMS architecture, with a process engine in its core and surrounded by process modeling, monitoring and life-cycle management tools.

    圖1.3 典型的BPMS架構的概貌,流程引擎是核心,周圍是流程建模、監視和生命周期管理工具

    There are quite a lot of components mentioned in figure 1.3, but the core of a BPMS is without doubt the process engine. In most chapters of this book we’ll therefore discuss this part of a BPMS in detail. The process engine is responsible for handling the process state for example. Because processes can run for days, weeks or even months it’s vital that the process state is persisted in a database. In case of hardware or software failure, the process

    state can always be recovered based on the process state retrieved from the database.

    圖1.3中提及相當多的組件,但是,毫無爭議,BPMS的核心是流程引擎。本書的大部分章節,我們將詳細討論BPMS的這部分內容。流程引擎負責處理流程狀態。因為流程引擎能夠運行數日,數周,甚至數月,所以將流程狀態持久化到數據庫是至關重要的。萬一硬件或者軟件出故障,流程狀態總能基于數據庫檢索的流程狀態,從而得以恢復。

    In the rest of this section we will look at each of the four core components of a BPMS architecture, first the process engine, then the process modeling tools, third the process monitoring tools and eventually the process life-cycle management tools.

    本節的其余部分,我們將看看BPMS架構的一個核心部件。首先是流程引擎,然后是流程建模工具,第三是監視工具,最后是流程生命周期管理工具。

    1.2.2 Exploring the core process engine (探索核心的流程引擎)

    A process engine is the foundation for a business process management suite. The process engine is capable of executing the business process model with quality aspects such as availability, performance and robustness in mind. In the next subsections we discuss the core parts of the process engine, the process state manager and the human task manager. The business rule engine integration will be discussed in chapter 9 and we’ll be talking about

    the process history service in chapter 12 and 13.

    流程引擎是業務流程管理套件的基礎。流程引擎有能力處理可用度、性能和魯棒性的質量方面。在子節我們討論流程引擎的核心部分,流程狀態管理器和人工任務管理器。業務規則引擎的集成將在第9章討論。第12章和第13章將討論流程歷史服務。

    PROCESS STATE MANAGEMENT(流程狀態管理)

    One of the common requirements of a business process is that it must be able to run over a longer period such as a day or a week. In that period the business process must be capable of accepting requests and handling events and progress a step further in the business process definition. A simple implementation of a process engine supporting this requirement would keep the running business processes in memory until it eventually reaches its end state. This would however lead to a very high consumption of memory when a lot of business processes are running.

    業務流程公共需求之一是它必須能長久運行,數日或者數周。在此周期,業務流程必須有能力接受請求,處理事件和讓業務流程定義的步驟進一步前行。支持這個需求的流程引擎的簡單實現是在內存保持業務流程運行,直到最后到達結束狀態。但是,當許多業務流程運行時,這將導致很高的內存消耗。

    Therefore a core capability of a process engine is to have good process state management. A common solution for managing the process state is to have the current state of a process stored in a database at certain points in a process execution. When we talk about the process state you can think of the following parts of a process:

    所以,業務流程的核心能力是具有良好的流程狀態管理。管理流程狀態的公共的解決方案是在流程執行中的某個時間點讓當前狀態存儲在數據庫里。當面談及流程狀態時,你能考慮下列流程部分:

    •     Process variables
    •     流程變量
    •     The current activity in the process execution, often named the process execution token.
    •      流程執行的當前活動,通常稱為流程令牌。
    •     Assigned users / groups in a user task
    •      用戶任務里分配的用戶/組
    •    The start and end time of executed process activities
    •     執行流程活動的開始和結束時間。

    Because the process state is stored in a database, the process engine can also recover running processes after a server shutdown, due to hardware failure or regular maintenance. So the process state manager is a vital component of the process engine.

    因為流程狀態存儲在數據庫,所以流程引擎在服務器關閉之后可以恢復運行流程。服務的關閉是由于硬件故障或者正常維護。所以流程狀態管理器是流程引擎的至關重要的組件。

    HUMAN TASK MANAGER(人工任務管理)

    Another important component of a process engine is a human task manager to support workflow functionality. With workflow functionality, we mean the creation of user or group assigned tasks during process execution. In BPMN 2.0 this can be implemented with the user task construct.

    人工任務管理器是另外一個重要的流程引擎的組件。它支持工作流功能。在工作流功能的幫助下,能在流程執行當中建立分配任務的用戶和組。在BPMN 2.0,可以用用戶,用戶組組件來實現。

    The human task manager should be capable of assigning tasks to specific users or groups of users. This also means that an API must be available to query the human task manager for tasks available to a specific user. A task can have at least three different states.

    人工任務管理器應該具有將任務分配給某些用戶或組的能力。這也意味著,為了查詢某一用戶可用的任務,必須有可用的API來查詢任務管理器,任務至少具有三個不同的狀態。

    1. The task is unassigned, which means that the task is available to every user that is part of the user or group criteria specified in the task configuration.

    1.任務分配,這意味著對每個用戶可用的任務是在任務配置中指定的用戶或組基準的一部分。

    2. The task is assigned, which means the task is assigned to one and only one user. This user has claimed the task, so the task will not appear on other user’s task lists. Of course administrators and managers still can perform commands on this tasks in exceptional cases.

    2. 任務已分配,這意味著一個任務當且僅當分配給一個用戶。因為這個用戶已領取任務,所以這個任務不會出現在另外用戶的任務列表當中。當然在異常情況下,管理員和經理用戶仍然能執行這個任務的指令。

    3. The task is completed, which means the task is completed by the user who has claimed the task in the first place.

    3.任務完成。由在第一步領取任務的用戶完成這個任務

    User or group criteria define the users who can claim a user task. Often, there is support

    for LDAP queries to fill-in this criteria.

    用戶或組基準定義領取任務的用戶。經常地,采用LDAP查詢支持來滿足這個基準。

    1.2.3 Modeling and design tools (建模和設計工具)

    It’s great to have a process engine to run your business processes, but a BPMS also need modeling and design tools to create the business processes. Before BPMN 2.0 it was easier to differentiate between modeling and design tools, because modeling tools used a modeling notation like BPMN 1.x and design tools used a process execution language like WS-BPEL or jPDL for jBPM.

    盡管擁有流程引擎來運行你的業務流程,但是BPMS也需要建模和設計工具來建立業務流程。在BPMN 2.0之前,區分建模工具和設計工具是比較容易的,這是因為建模工具使用像BPMN 1.想的建模符號,設計工具使用WS-BPEL或者就BPM的jPDL的流程執行語言。

    With BPMN 2.0 we now have a standard that provides a modeling notation as well as a process execution language. This means that it’s not necessary any more to convert and transform a BPMN 1.x business process model to WS-BPEL. But as we will see in section 1.3.3, there’s still a difference between the level of detail used in modeling and design phases. A modeling tool has to support features to do high-level modeling and a design tool must be able to create a process execution model that can be directly deployed to a process engine. There may be tools which support modeling as well as design functionality, but we’ll discuss the functionality separately here.

    BPMN 2.0既提供了建模符號的標志,也提供了流程執行語言的標準。這意味著,將BPMN 1.x業務建模語言轉為WS-BPEL不再有必要。但是,正如我們將在1.3.3所見,建模和設計階段所使用的細節層次仍有差別。建模工具不得不支持高層次的建模特性;而設計工具必須能建立能夠直接部署到流程引擎的的流程執行模型。盡管也許存在既支持建模,也支持設計功能的工具,但是,我們在此分開討論這些功能。

    MODELING A BPMN BUSINESS PROCESS(對BPMN業務流程建模)

    A BPMN modeling tool should support the definition of business processes by business and information analysts. This means that in a modeling tool we don’t want to be restricted too much by the formal BPMN 2.0 specification, but the focus should be to support the user in the definition of the business process model in a user-friendly way.

    BPMN建模工具應該支持業務和信息分析師定義的業務流程。盡管這意味著我們不想被正式的BPMN 2.0規范限制太多,但是應該關注以用戶友好的方式支持用戶業務流程模型的定義。

    In addition, it would be nice to see simulation functionality in the modeler to be able to see if the modeled business process executes as expected. There are pretty advanced simulation tools available that can calculate maximum throughput and can identify possible bottlenecks in a business process and this is vital functionality to do successful BPM.

    另外,在建模器里最好提供仿真功能,以便能夠觀察建模的業務流程是否以期望的方式運行。具有可用的非常棒的高級仿真工具能夠計算最大的吞吐量和辨識業務可能的瓶頸。這是成功BPM至關重要的功能。

    DESIGNING A BPMN BUSINESS PROCESS (對BPMN業務流程進行)

    The designer tool takes a BPMN business process defined in the modeler as starting point or you can decide to design a business process from scratch if you want to. A designer tool is often dedicated to support a specific implementation of a process engine. Where a modeler tool can and should be vendor independent, a designer can contain vendor specific details and have support for vendor specific functionality inside a process engine.

    設計器工具是從建模器取得定義BPMN業務流程作為起始點。如果你希望從頭開始,你能夠決定設計一個從頭開始的業務流程。設計工具經常是專有的支持,流程引擎特有的實現。建模器工具能夠并應該是供應商獨立的,而設計器可以包括供應商相關的細節,并可在流程引擎里具有對特定功能的支持。

    Important functionality for a designer is to be able to add for example error handling to a process, to couple service tasks to web services via WSDL and Java classes, and to couple user tasks to LDAP related queries. Furthermore, it must be possible to run a process engine from within the designer tool and deploy processes on it for testing purposes. Finally it must support unit testing, so a developer is able to perform some basic unit tests before a process is deployed to a central process engine.

    1.2.4 Managing and monitoring the process engine (管理和監視流程引擎)

    Management functionality for a process engine means that an administrator must be able to query the process engine for deployed process definitions and look into version information. In addition, running process instances can be queried to look into specific states of processes when end users have questions about it. Also for user tasks it must be possible to claim and complete certain user tasks when there is a need for this.

    流程引擎的管理功能意味著管理員必須能夠查詢已部署的流程定義和檢查版本信息。另外,當用戶有問題時,能夠查詢正運行的流程引擎來深入分析流程狀態,對于用戶任務,當必須時,必須有可能領取和完成某些用戶任務。

    In general, the state of a process definition, process instance and user task must be available for an administrator. This also includes the process engine databases, which are a core part of the process engine. So the database model and its tables should be easily accessible for administration purposes.

    通常,流程定義,流程實例以及用戶任務的狀態對管理員可用。這也包括流程引擎數據庫,它是流程引擎的核心部分。所以為了管理目的,應該訪問數據庫模型和它的數據庫表。

    Monitoring functionality is more targeted at specific events that occur in a process instance. For example, when a large order enters an order process, it may be interesting for specific managers to receive a signal. Another more technical example is that a process instance is inactive for more than a week, it may need attention to see if the process is still running normally. It’s obvious that management and monitoring is a very important part in the business success of process engines and BPM in general.

    監視器功能更多關注在流程實例發生的特殊事件。例如,當以大宗訂單進入一個訂單流程。某個經理將受到信號是否有趣。另外一個更技術是一個流實現超過一周不激活。也許引起注意看看流程是否仍然運行。顯然,通常業務成功和BPM管理和監視是非常重要的。

    1.2.5 Collaborating on business processes (業務流程協作)

    Collaboration tools are a central part of a lot of IT projects in general. Collaboration tools include for example source code repositories, code review tools and wiki pages. But in BPM projects it’s even more important due to the complexity and the large amount of different roles and persons in such a project.

    通常,協作工具是許多IT項目的中央部分。例如,協作工具包括源代碼倉庫,代碼走查工具和wike頁面。由于項目的復雜性,大規模的角色和人,BPM項目甚至更為重要。

    BPMN provides a good foundation for collaboration because it supports high level business modeling understood by managers, it also supports detailed business modeling understood by business analysts, architects and designers and with BPMN 2.0 it also support process execution understood by architects, developers and administrators.

    BPMN為協作提供了良好基礎。這是因為,它為經理提供易理解的高層次業務建模能力;也為業務分析師,架構師提供了易理解、更為詳細的業務建模。采用BPMN 2.0架構師,開發人員和管理人員提供易理解的流程執行。

    A BPM collaboration tool must provide a view on the different process model repositories of a BPM project. There are modeler, designer and even code repositories which must be bundled in one or more views depending on the end user. It’s also very important that everybody working on a business process is identifiable with his role and work in this collaboration tool. It must be clear which person must be contacted for specific questions.

    BPM協作工具必須提供BPM項目不同流程模型倉庫的視圖。根據用戶不同,必須能夠綁定建模器、設計器,甚至代碼倉庫包圖。在這個協作工具里,根據角色和工作辨識在業務流程上工作的每個人也非常重要。某個問題聯系人必須非常清楚。

    We rushed through the major components of the typical BPM architecture we showed in figure 1.3. But we’ll take a closer look at every part in the rest of this book. For example we’ll look at the process engine in chapter 3, discuss the human task manager in chapter 7 and look at the modeler, designer and collaboration tools in chapter 2. For now it’s good to have heard about the vocabulary, as we will be using it a lot in this book.

    我們快速瀏覽了圖1.3所示的典型BPM架構的主要部件。但是,我們將在本書的其余部分仔細觀察每個部件。例如,在第3章,我們將介紹流程引擎。在第7章,討論人工任務管理器。在第2章討論建模器、設計器和協作工具。到目前為止,我們已經擁有了共同的詞匯,這很棒,因為我們將在本書使用這些詞匯。

    With a foundation of BPM knowledge and vocabulary in our minds it’s time to get introduced into BPMN 2.0 and its history.

    既然我們已經對BPM只是和詞匯了然于心,是該介紹BPMN 2.0及其歷史的時間了。


    評論

    # re: Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what&rsquo;s in it for developers?(3)  回復  更多評論   

    2011-01-02 09:52 by 網路冷眼@BlogJava
    @靚麗屋
    BPMN 2.0是最新規范。

    # re: Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what&rsquo;s in it for developers?(3)  回復  更多評論   

    2011-01-02 09:53 by 網路冷眼@BlogJava
    @ugg boots chestnut
    謝謝,歡迎常來!

    # re: Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what&rsquo;s in it for developers?(3)  回復  更多評論   

    2011-05-13 12:50 by 貝貝爸爸
    你好,你熟悉Activiti嗎?
    我也一直關注他,準備這短時間好好研究,納入到seam3的模塊體系里面。

    # re: Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what&rsquo;s in it for developers?(3)  回復  更多評論   

    2011-05-15 11:11 by 網路冷眼@BlogJava
    @貝貝爸爸
    正在研究。

    # re: Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what&rsquo;s in it for developers?(3)  回復  更多評論   

    2011-09-15 11:02 by VC
    請問怎樣可以獲得這本書??電子版或者是印刷版都可以,現在在學習這個~謝謝
    主站蜘蛛池模板: 中文成人久久久久影院免费观看| 日韩色视频一区二区三区亚洲| 好湿好大好紧好爽免费视频| 国产青草视频免费观看97 | 久久精品国产免费一区| 国产亚洲午夜高清国产拍精品| 特级毛片爽www免费版| 亚洲&#228;v永久无码精品天堂久久| 亚洲精品乱码久久久久蜜桃 | 中文在线免费视频| 中文字幕不卡亚洲| 大地资源中文在线观看免费版 | 亚洲va乱码一区二区三区| 国产日本一线在线观看免费| 亚洲乱人伦精品图片| 啦啦啦中文在线观看电视剧免费版 | 亚洲综合激情五月丁香六月| 好男人看视频免费2019中文| 亚洲精品天堂无码中文字幕| 日本高清免费不卡在线| 一级毛片成人免费看a| 亚洲国产精品无码久久久不卡| 亚洲午夜免费视频| 亚洲日本VA午夜在线电影| 四虎AV永久在线精品免费观看| igao激情在线视频免费| 亚洲视频在线观看网址| 成年大片免费视频| 一级白嫩美女毛片免费| 亚洲综合婷婷久久| 午夜成人免费视频| 中文字幕一区二区免费| 亚洲一区二区三区国产精品无码| 日韩视频在线免费| 国色精品va在线观看免费视频 | 亚洲xxxx18| 国产AV无码专区亚洲AV手机麻豆| 最近免费中文字幕大全免费 | 亚洲高清美女一区二区三区| 国产在线19禁免费观看国产 | 亚洲jjzzjjzz在线播放|