??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲无码黄色网址,人人狠狠综合久久亚洲88,亚洲成色www久久网站夜月http://www.tkk7.com/baixch/category/9553.htmlzh-cnWed, 28 Feb 2007 04:11:49 GMTWed, 28 Feb 2007 04:11:49 GMT60我对Java的异常处理机制的理解http://www.tkk7.com/baixch/articles/69171.html英雄英雄Tue, 12 Sep 2006 07:36:00 GMThttp://www.tkk7.com/baixch/articles/69171.htmlhttp://www.tkk7.com/baixch/comments/69171.htmlhttp://www.tkk7.com/baixch/articles/69171.html#Feedback0http://www.tkk7.com/baixch/comments/commentRss/69171.htmlhttp://www.tkk7.com/baixch/services/trackbacks/69171.html

我对Java的异常处理机制的理解

   首先从一个问题引Z个角度:(x)?span>javaE序的机器在如何q行Q?span>

   Jvm 和物理机器构成了一个运行环境。这个运行环境“吸收”提供的class文g或其他资源,包括java main入口的给定参数等{,以多U程thread形式q行着。线E在另一个线E中诞生出来Q某一天魂归西天。在U程诞生之初属于一个分l?span>threadgroup?span>

   然后描述另外一个角度:(x)所谓运行环境吸收的材料中,比如class文gQ其实是我们E序员给的运行规定。就是说我们?span>java language specificationl出了我们对如何q行的命令信息。实际运行和我们的意愿之间到底是怎么相关呢?

q行环境的出C初就?x)按我们的意愿试图执行某个类?span>main.首先q行环境?x)诞生一个主U程Q这个主U程首先要求q行环境已经initializingq个c,没有得initializingq个c,在做initializing之前又得要求linking,以致loading,不管怎么Pq样的约定导致主U程?x)运?span>loadingQ?span>linking,initializingQ然后再q行mainҎ(gu)里我们表辄意思。当然在q个ȝE里也会(x)按我们的意思诞生新U程Q这个新U程也还是得在诞生之初按我们的意愿试图执行那?span>runablecȝrunҎ(gu)Q这当然也得要求initializing。所不同的是有可能这?span>initializing在某个其他线E里l运行了Q那么也是说运行时环境满了这个要求,那在当前U程中就不干q个事了?span>

   最后我们来看异常的概念?span>

   昄我们的意愿是不容q背的。呵c(din)可是现实归现实QL那么多不h意。当q行时环境参照我们的意愿以各个线E运行时Qd能出现点q背意愿的事Q也是异常。这个情늚出现可能是机器内存条抖了下,可能是我们的意愿׃正常Q比如想数组界讉KQ或者我们的意愿是“请此刻马上当作异常发生了”等{。那么这时会(x)怎么q行呢?

   q种情况当然是在U程中发生的Q发生后q行时大师就?x)根据当前情冉|造一throwable实例Q然后寻找本U程要{到哪个点上去l箋q行。这到底是哪个点Q这个意愿当然还得我们程序员通过java language specificationl出命o(h)信息。我们的意愿不一定非要写出来Q有一个是U定好的Q异怼播蟩出前释放同步块的锁。那么如果运行时大师扑ֈ了这个点Q就?x)安排本U程l箋从这个点q行Q找不到Q那么运行时大师׃(x)把该U程杀了。杀之前先执行它?span>threadgroup?span style="COLOR: black">uncaughtExceptionҎ(gu)里我们表辄意愿。注意不是在那个点q是q个Ҏ(gu)Q我们都有机?x)表辑֯那?/span>throwable实例怎么怎么L(fng)x?span>

   Ok, 现在基本框架已经有了Q再具体的描qC?span>

   刚才说到了每个线E的q行Q异常是有很多种情况的。那q种情况什么时候发生的呢?总v来说是什么时候触发了执行Q什么时候算。比如我们有一?span>a=1/b.当线E参照这句执行时Q发?span>b=0,那就可以说在q时发生了个异常。再比如我们?span>StringUtils.contact(s1,s2);当线E参照这句执行时Q可能就?x)要求先?span>StringUtils?span>resolvingQ?span>linking的最后一个可选步骤),但也可能在线E?span>link该句所属的cL׃(x)做,q根?span>jvm规范得看jvm怎么实现了。但不管怎么_(d)什么时候做?span>resolvingQ而在q个q程中出异常了,得这个点。这样就有一个意识:(x)发生Ҏ(gu)可以嵌套的。比?span>aҎ(gu)a步调?span>bҎ(gu)Q但b?span>b步抛异常了,我们可以?span>b步是个点Q但?span>a来说Q?span>a步也是这个点。最原始的那个点怎么?怎么说都无所谓。但有谓的是下面Q?span>

   q行时大师就?x)根据当前情冉|造一?span>throwable实例Q其中当前情况就有一个当前线E的执行栈信息。这个当前信息怎么有所谓。而且Q然后寻扄E要转到哪个点上ȝl运行。从哪里开始找起也有所谓。这两个所谓都?span>jvm中规范了?span>

   关键是我们程序员如何表达?span>

  •    1 当前信息是U程当时的栈信息。注意这个栈信息是我们的E序Q包?span>LibQ的某个Ҏ(gu)名的一些信息,而不是细化到某个操作2q制指o(h)?span>

  •    2 从哪里找P

   我们的程序中哪句是最l导致异常的Q从q一句所在的代码块开始找赗所以主U程一开始时initialize那个mainc,如果jvm实现是最?span>linkQ那么可能会(x)由此递归initialize很多maincd用的c,如果q个q程中出异常了,我们甚至没有必要找了,之后怎么处理无所谓;如果initialize后执?span>mainҎ(gu)q程中某句导致出异常了,那就得从q一句所在的代码块开始找赗?span>Try{ ~~~;a;~~~;}catch{}finally{} ?span>Catch不匹配就要蟩?span>try块,但蟩Z前也要先让本U程q行?span>finally。如?span>catch,finally又抛异常了,那就形成一个新异常Q原来的异常的信息不见了Q所以要心。注意“那个最l导致异常的那一句”是q个意思,比如Try{~~~;aQ);~~~;}catch{}finally{}?span>a()出异怺Q但不是a()句,而是a()Ҏ(gu)中出异常的最l那一句,由此递归到程序可见的最l一句。从那个地方找v?span>

异常多数是同步发生的Q就是在U程的某个固定环节发生,但也有异步的Q比如内存溢出,谁也不知道会(x)在哪个线E中哪个点发生,对于q样的异步异常,jvm规范中说jvm实现让这U异常实际发生后代码l箋q行一有限D,所以给Z个简单实现模型:(x)q行时对q种异常的检时每次U程做控制{UL令时Q比如条件{Ud{等?span>

   但是无论什么异常,对于我们?span>java表达的意愿,必须满Q异帔R辑发生时之前的java都执行了Q之后的都没有执行。至于实际实CQ可能我们看到的异常发生时刻和实际的发生时刻有差别(因ؓ(f)q行时检不是实时的Q,也可能我们看到的代码执行和编译器优化后实际的执行序不一_(d)但不怎么P我们看到的和表达的必M致?span>

   最后看异常的分cR我截至目前说的异常都是一个广义的概念Q实际上应该对应throwableq个cR?span>Throwable之下?span>exception?span>error.exception下有很多Q其中有一个是RuntimeException。我们用他们表达对运行的意愿Q同时我们也用他们表达我们对提供的接口运行时可能出现的异常的提示。这U表达是java的特Ԍ一般语a不会(x)直接表达q种可能性。假如说我们的某个方法可能抛exceptionQ意思是别h使用q个Ҏ(gu)时能处理q个异常Q对?span>runtimeexception一定要么捕捉下Q要么l传播;?span>runtimeexception,可以不做处理。而假如说我们的某个方法可能抛errorQ意思则是别人用q个Ҏ(gu)可能?x)面?span>error,而且不认为别处理。从另一个方面,对于我们使用某个Ҏ(gu)Q如果他声明?x)抛一个非runtimeexceptionQ我们必d理,真有error的可能我们都不用Q当然也可能C日志q了。考虑到这U含义,~译器帮助我们一定要处理?span>runtimeexception?span>



英雄 2006-09-12 15:36 发表评论
]]>
我对工作概늚理解http://www.tkk7.com/baixch/articles/69169.html英雄英雄Tue, 12 Sep 2006 07:31:00 GMThttp://www.tkk7.com/baixch/articles/69169.htmlhttp://www.tkk7.com/baixch/comments/69169.htmlhttp://www.tkk7.com/baixch/articles/69169.html#Feedback0http://www.tkk7.com/baixch/comments/commentRss/69169.htmlhttp://www.tkk7.com/baixch/services/trackbacks/69169.html 我对工作概늚理解

现在Q很多所谓的协同工作实现都出现了理解歪曌Ӏ对此,我将描述一U新的工作流概念的理解,然后Z其上Q对xpdl做一个改造,形成新的工作的描述语言?span>

我们?span>software,常常自然地关注功能概念,卛_?span>+gl成一U可用的功能Q比如我们常说给用户~出一个查询存货列表的功能Q再加一个菜单;我们常常单纯Zq种功能概念构造系l。所谓对功能“搭U木”模式更加体Cq种概念。从深层ơ讲Q这满了一U静态观察的需求;而随着用户水^的提高,他们逐渐能够表达一U基于动态观察的需求。典型地_(d)理者希望确保某个品从q货到出货的整个q程都是最有效率的。而,整个企业需要整个企业的q作中每个环节都是最正确有效的。对于企业而言Q企业的每一个变化,zdQ最好都是实C业目标的最有效Q最正确的一步。企业的需要,是帮助他们实现企业Q这个系l,一直以正确的活动序列向着企业目标q行着。目前用戯没有完全能把q种需求表辄切,现在所谓“协同”等概念其实是对这U需求的模糊的表达。下面我试着表达解决q种需求的模型思\?span>

人如何实现目标?人类有一个一般的解决途径---控制pȝ的变化。比如我们追求自q某个目标Q往往先做一个计划,然后依照计划不断实现Q反馈,修改计划。计划本质上是对变化的控制。我们的思维中很重要的很基本的一条,是从目标出发,分析到目标的途径。之后我们按途径q行受控zd。比如我们想解决温饱Q最l就?x)分析到占有土地Q提高种子质量等Q然后我们会(x)控制自己或员工去一步步做这些事?span>

企业的每一个具体活动如果都是某个定义好的流E实例的环节实例(都是计划的一部分)Q那么所有的zd可以完全受控。受控就意味着可以q行优化Q监控等Q所以能控制到所有活动基本就成ؓ(f)实现最l需求的基础?span>

   控制的粒度需要非常灵zR我们允许用户去定义提交一个存货单是一个环节,也可以包括更多的内容在这个环节中。不同的企业规模Q即使同一个业务流E,肯定Ҏ(gu)制粒度要求也不同。所以保证这U灵zL非帔R要?/span>

   程是zd的阶D|集合。比如全局是一个流E,是说企业的整个q作是一个流E。之后比如什么请假流E都只是其中的一部分。而活动是一个黑盒,不可再分Q它的划分涉?qing)到_度的把握。定义一个流E,实际是需要规范一pdzd。随着程U类的不断开发,整个企业的运作就?x)日益受到控制。随着_度的分合,q作的管理更加细致科学。而且随着整个C会(x)的进步,zdpd也会(x)相应调整Q流E定义也要不断更新。所以要保证程定义的易操作。这个多采用囑Ş化定义解冟?/span>

   程的定义本w是一个控制活动的直接手段。通过借助观察大量程实例的数据,可以q行l计分析Q反q来改善程定义。再加上对一个流E实例本w可以做暂停{管理,从而实现对整个企业zd的长期规划,x调整Q最l满企业的需求,控制住企业的良好q作?/span>

   q是Zq种需求的理解Q这U解x\Q得这个模型非怸同?/span>

   1 程定义。现在的程定义Q都出现了参与者等信息Q而且q出C如何q作的信?/span> --- 兌某个应用功能模块。这些我认ؓ(f)都是一U歪曌Ӏ实际上q样做就另一层次的需求؜杂了q来。那是通用的功能模块。比如某人在某环节可以填某个表的某些字段。这个出现在程定义中,h了流E定义的本义。我认ؓ(f)程定义本n仅仅是活动的划分。至于这个活动谁来完成,如何完成Q根本不属于程定义的范畴。定义一个流E,是对全局程的某pdzd的一个划分,描述信息是做什么的或者说辑ֈ什么目标的Q本质是划分依据。每一个元素就是一个活动。这个活动的信息可能没办法明出什么目标,但是基本上也是一个划分依据的描述?/span>

   但是我们描述程的时候,往往?fn)惯有一个流的概c(din)即 A l束后是 B 。实际上q种信息Ҏ(gu)无法静态描q。这一点和前面说的hQ这两点D实现非常不顺畅,高度太低的原因尔?/span>

2 反过来说q两点,以另外的方式处理。表的字D访问控制作Z个通用功能单元卛_Q参与者放到权限控制模型中d现。对?/span> transition Q由zd环节本n在结束时指定下一个。而如何指定,提供一个根据默认定义指定的通用功能。而这默认指定Q则可以在流E定义中l出。虽然Ş式上仍然是元素间q线Q但意义不同Q这h们不把这U?/span> transition 信息作ؓ(f)程定义的必需l成?/span>

3worklist 。实现这样一个功能单位,让用戯己去一个列表中领取q行中的环节卛_Q某个用户判断可以结束了Q直接声明结束环节。这是最单直接的实现。不用担心权限问题,因ؓ(f)即领取了环节,也不一定有功能权限d实际功能。当然ؓ(f)了方便用P可以做一个功能单位,让不同用L(fng)到可以做的环节?/span>

4 理。其实就是那些暂停,看流E实例状态等。以新的理解Q那其实q些也是某环节活动的l成部分。像原来一样做。当某个程暂停了,那么pȝ׃?x)允怸一个环节的诞生?/span>

5 至于所谓业务数据流Q其实对于某一个功能,如果当初设计的是环节相关的,那他可以通过领取的环节取到环?/span> id, id, q些p够了。如果不是环节相关的Q比如某人的基本信息录入Q那可能Ҏ(gu)用不到这些数据。显Ӟ一个环节可能是需要用多个功能,q也和以前的理解不同。实际上我是q样做对Q一个用户开始进入系l,默认持有pȝ程大环?/span> id, 然后在列表中选择一个环节来参与q去Q那在?x)话中一直持有该环节。这体现了用?/span> A 正在受理某业务环节中的现实表现?/span>

探烦中,Ƣ迎交流Qmsn:sun_v2006@hotmail.com



英雄 2006-09-12 15:31 发表评论
]]>
xpdl规范中文注释TC-1025_xpdl_2_2005-10-03http://www.tkk7.com/baixch/articles/62999.html英雄英雄Fri, 11 Aug 2006 06:37:00 GMThttp://www.tkk7.com/baixch/articles/62999.htmlhttp://www.tkk7.com/baixch/comments/62999.htmlhttp://www.tkk7.com/baixch/articles/62999.html#Feedback0http://www.tkk7.com/baixch/comments/commentRss/62999.htmlhttp://www.tkk7.com/baixch/services/trackbacks/62999.html阅读全文

英雄 2006-08-11 14:37 发表评论
]]>
BPMN-BPD-introduce部分译截取http://www.tkk7.com/baixch/articles/62753.html英雄英雄Thu, 10 Aug 2006 03:33:00 GMThttp://www.tkk7.com/baixch/articles/62753.htmlhttp://www.tkk7.com/baixch/comments/62753.htmlhttp://www.tkk7.com/baixch/articles/62753.html#Feedback0http://www.tkk7.com/baixch/comments/commentRss/62753.htmlhttp://www.tkk7.com/baixch/services/trackbacks/62753.htmlIntroduction to BPMN
Stephen A. White, IBM Corporation
Abstract
This paper is intended to provide a high-level overview and introduction to the Business Process
Modeling Notation (BPMN). The context and general uses for BPMN will be provided as a
supplement to the technical details defined the BPMN 1.0 Specification, which has been recently
completed and released to the public. The basics of the BPMN notation will be discribed—that is,
the types of graphical objects that comprise the notation and how they work together as part of a
Business Process Diagram. Also discussed will be the different uses of BPMN, including how levels
of precision affect what a modeler will include in a diagram. Finally, the value in using BPMN as a
standard notation will be defined and the future of BPMN outlined.
What Is BPMN?
The Business Process Management Initiative (BPMI) has developed a standard Business Process
Modeling Notation (BPMN). The BPMN 1.0 specification was released to the public in May, 2004.
This specification represents more than two years of effort by the BPMI Notation Working Group.
The primary goal of the BPMN effort was to provide a notation that is readily understandable by all
business users, from the business analysts that create the initial drafts of the processes, to the
technical developers responsible for implementing the technology that will perform those
processes, and finally, to the business people who will manage and monitor those processes. BPMN
will also be supported with an internal model that will enable the generation of executable
BPEL4WS. Thus, BPMN creates a standardized bridge for the gap between the business process
design and process implementation.
BPMN defines a Business Process Diagram (BPD), which is based on a flowcharting technique
tailored for creating graphical models of business process operations. A Business Process Model,
then, is a network of graphical objects, which are activities (i.e., work) and the flow controls that
define their order of performance.
BPMN Basics
A BPD is made up of a set of graphical elements. These elements enable the easy development of
simple diagrams that will look familiar to most business analysts (e.g., a flowchart diagram). The
elements were chosen to be distinguishable from each other and to utilize shapes that are familiar to
most modelers. For example, activities are rectangles and decisions are diamonds. It should be
emphasized that one of the drivers for the development of BPMN is to create a simple mechanism
for creating business process models, while at the same time being able to handle the complexity
inherent to business processes. The approach taken to handle these two conflicting requirements
was to organize the graphical aspects of the notation into specific categories. This provides a small
set of notation categories so that the reader of a BPD can easily recognize the basic types of
注释结QMicrosoft Word - BPMN
Introductory White Paper.doc
面Q?
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
摘要Q?br />本文目的在于提供一份关于BPMN的概括性介l。包括BPMN的来历,应用Q基本概--?在BPD图中元素各自的意义,和彼此的关系。同?br />也包括针对不同的应用Q对囑Ş元素的用量水^也有一个水q界定。最后,使B用PMN的h(hun)值和BPMN未来前景?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
BPMI开发的BPMN?.0规范已经?004.5发布。大U是2q的努力。主要目的是提供一个统一的概念,而这个概念可以让所有的用户?br />理解Q包括工作流E设计者,开发者,使用B者PM。N有一个内部模拟高_(d)可以产生可执行的BPEL4WS.MQBPMN为流E设计和实现搭徏
了一个标准的桥梁?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
BPMN定义了一个BPDQ这是一个用来表C工作流的图形化模型。一个工作流定义Q因此,使一个诸多图形元素的|络图,每一个元素描q?br />一个工作实体,关系代表了执行顺序等程控制?br />Introduction to BPMN
2
elements and understand the diagram. Within the basic categories of elements, additional variation
and information can be added to support the requirements for complexity without dramatically
changing the basic look-and-feel of the diagram. The four basic categories of elements are:
􀁸 Flow Objects
􀁸 Connecting Objects
􀁸 Swimlanes
􀁸 Artifacts
Flow Objects
A BPD has a small set of (three) core elements, which are the Flow Objects, so that modelers do not
have to learn and recognize a large number of different shapes. The three Flow Objects are:
Event
An Event is represented by a circle and is something that
“happens?during the course of a business process. These
Events affect the flow of the process and usually have a
cause (trigger) or an impact (result). Events are circles
with open centers to allow internal markers to
differentiate different triggers or results. There are three
types of Events, based on when they affect the flow:
Start, Intermediate, and End (see the figures to the right,
respectively).
Activity
An Activity is represented by a rounded-corner rectangle
(see the figure to the right) and is a generic term for work
that company performs. An Activity can be atomic or nonatomic
(compound). The types of Activities are: Task and
Sub-Process. The Sub-Process is distinguished by a small
plus sign in the bottom center of the shape.
Gateway
A Gateway is represented by the familiar diamond shape
(see the figure to the right) and is used to control the
divergence and convergence of Sequence Flow. Thus, it
will determine traditional decisions, as well as the forking,
merging, and joining of paths. Internal Markers will
indicate the type of behavior control.
Table 1: Core BPD Flow Objects
面Q?
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
一个BPD是由一个图形元素的集合l成的一个图。这些图形化元素对大多数工作设计者非常熟(zhn)。用这些元素徏立工作流非?br />Ҏ(gu)。不同种cȝ元素以不同的囑Ş区别表示。比如工作实体是一个矩形。判断时一个菱形。有一点强调下QBPMN的开发就是要?br />工作模型的创徏Q而同时又要可以能处理工作本w的复杂性。鱼和熊掌兼得的解决之道即ؓ(f)q些囑Ş元素分类。这PZ很少?br />囑Ş元素分类Q一个BPD的读者能够很Ҏ(gu)地识别理解工作流图。有了基本分c,对图形的额外信息补充也会(x)保持整体感?U基本分c:(x)
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
BPD?个核心对象,建模者甚xd了解更多对象?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
event用一个圈表示Q代表在程中发生的事g。event影响工作程。通常有一个trigger(触发原因)和impactQ结果)Q在圈中间可以做?br />内部标记来区分。基于何时媄响工作流Q有3Uevent分别代表开始,中间Q结束?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
一个工作实体由一个圆角矩形代表。指具体某一个工作环节。可以原子性,也可以是复合式。又分ؓ(f)两类QQ务,子流E。子程在底
部中央以+标记?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
gateway使用菱Ş代表Q用来描q分支或汇怅R因此,用来表示军_Q分支,汇总,联结。可做内部标记来区别?br />Introduction to BPMN
3
Connecting Objects
The Flow Objects are connected together in a diagram to create the basic skeletal structure of a
business process. There are three Connecting Objects that provide this function. These connectors are:
Sequence Flow
A Sequence Flow is represented by a solid line with a
solid arrowhead (see the figure to the right) and is used
to show the order (the sequence) that activities will be
performed in a Process. Note that the term “control flow?br />is generally not used in BPMN.
Message Flow
A Message Flow is represented by a dashed line with an
open arrowhead (see the figure to the right) and is used
to show the flow of messages between two separate
Process Participants (business entities or business roles)
that send and receive them. In BPMN, two separate Pools
in the Diagram will represent the two Participants.
Association
An Association is represented by a dotted line with a line
arrowhead (see the figure to the right) and is used to
associate data, text, and other Artifacts with flow objects.
Associations are used to show the inputs and outputs of
activities.
Table 2: BPD Connecting Elements
For modelers who require or desire a low level of precision to create process models for
documentation and communication purposes, the core elements plus the connectors will provide
the ability to easily create understandable diagrams (see Figure 1).
Figure 1: An Example of a Simple Business Process
For modelers who require a higher level of precision to create process models, which will be subject
to detailed analysis or will be managed by Business Process Management System (BPMS), additional
details can be added to the core elements and shown through internal markers (see Figure 2).
面Q?
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
flow object们被q里的connecting object们连接v来描q整个工作流框架。有3cconnecting objectQ?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
sequence flow用实U箭头表C,描述了工作实体在程中的执行序?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
message flow一个虚U箭头表C,描述程参与者间的信息传递。在BPMN中,两个分离的Pool代表两个参与者?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
association用来对flow object来进行data,text,或其他Artifacts的关联。用来显C工作实体的输入输出?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
对于低水q的应用Q这两类元素_了?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
对于高水q的Q则可以再添加细节?br />Introduction to BPMN
4
Figure 2: A Segment of a Process with more Details
Swimlanes
Many process modeling methodologies utilizes the concept of swimlanes as a mechanism to organize
activities into separate visual categories in order to illustrate different functional capabilities or
responsibilities. BPMN supports swimlanes with two main constructs. The two types of BPD
swimlane objects are:
Pool
A Pool represents a Participant in a
Process. It is also acts as a
graphical container for partitioning
a set of activities from other Pools
(see the figure to the right),
usually in the context of B2B
situations.
Lane
A Lane is a sub-partition within a
Pool and will extend the entire
length of the Pool, either vertically
or horizontally (see the figure to
the right). Lanes are used to
organize and categorize activities.
Table 3: BPD Swimlane Objects
Pools are used when the diagram involves two separate business entities or participants (see Figure
3) and are physically separated in the diagram. The activities within separate Pools are considered
self-contained Processes. Thus, the Sequence Flow may not cross the boundary of a Pool. Message
Flow is defined as being the mechanism to show the communication between two participants, and,
thus, must connect between two Pools (or the objects within the Pools).
面Q?
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
许多程建模Ҏ(gu)使用swimlanes
q个概念来以囄形式划分工作实体Q以此描q功能或责Q者划分。BPMN在两斚w支持q个概念Q?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
pool代表一个工作流E中的参与者划分?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
lane是pool的子划分Q可能因而扩展了pool的长度或高度。用来划分工作实体?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
当需要划分描qC同工作或参与者时使用pool。在一个pool的实体被认ؓ(f)是自包含的工作流E。因此sequence flow不能跨越边界。?br />message fow则可以跨?br />Introduction to BPMN
5
Figure 3: An Example of a BPD with Pools
Lanes are more closely related to the traditional swimlane process modeling methodologies. Lanes
are often used to separate the activities associated with a specific company function or role (see
Figure 4). Sequence Flow may cross the boundaries of Lanes within a Pool, but Message Flow may
not be used between Flow Objects in Lanes of the same Pool.
Figure 4: A Segment of a Process with Lanes
面Q?
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
而lane则更接近于传l的机制。常被用来划分一个具体的功能或角艌Ӏsequence flow可以跨越边界Q但是message flow可能q不着
了?br />Introduction to BPMN
6
Artifacts
BPMN was designed to allow modelers and modeling tools some flexibility in extending the basic
notation and in providing the ability to additional context appropriate to a specific modeling
situation, such as for a vertical market (e.g., insurance or banking). Any number of Artifacts can be
added to a diagram as appropriate for the context of the business processes being modeled. The
current version of the BPMN specification pre-defines only three types of BPD Artifacts, which
are:
Data Object
Data Objects are a mechanism to show how
data is required or produced by activities.
They are connected to activities through
Associations.
Group
A Group is represented by a rounded corner
rectangle drawn with a dashed line (see the
figure to the right). The grouping can be used
for documentation or analysis purposes, but
does not affect the Sequence Flow.
Annotation
Annotations are a mechanism for a modeler
to provide additional text information for the
reader of a BPMN Diagram (see the figure to
the right).
Table 4: BPD Artifact Elements
Modelers can create their own types of Artifacts, which add more details about how the process is
performed—quite often to show the inputs and outputs of activities in the Process. However, the
basic structure of the process, as determined by the Activities, Gateways, and Sequence Flow, are
not changed with the addition of Artifacts in the diagram; as you can see by comparing Figure 4 and
Figure 5.
面Q?
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
上面提到的BPMN的灵zL展性在q里体现。就是artifact可以L加入到这个流E图中来。BPMN的目前版本预定义?U:(x)
作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
data object用来描述工作实体需要或产生了什么数据的。用associationq接?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
一个虚U围成的矩ŞQ用来生成文档或辅助分析{,q不影响实际程?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
annotation用来d文本信息Q以帮助reader来看图?br />作者:(x)Administrator
主题Q附?br />日期Q?006-8-10 11:10:42
建模者可以随意加些自定义cd的actifacts---常常用来描述工作实体的输入输出。但是,工作程不会(x)受媄响?img src ="http://www.tkk7.com/baixch/aggbug/62753.html" width = "1" height = "1" />

英雄 2006-08-10 11:33 发表评论
]]>
j2ee 中文 ~码http://www.tkk7.com/baixch/articles/39447.html英雄英雄Wed, 05 Apr 2006 10:59:00 GMThttp://www.tkk7.com/baixch/articles/39447.htmlhttp://www.tkk7.com/baixch/comments/39447.htmlhttp://www.tkk7.com/baixch/articles/39447.html#Feedback0http://www.tkk7.com/baixch/comments/commentRss/39447.htmlhttp://www.tkk7.com/baixch/services/trackbacks/39447.html1.~码
  ASCII码:(x)128个码位?br />  iso8859-1Q又UCؓ(f)Latin-1 256个码位?br />  从计机的应用开始,我国已经颁布了多U中文信息编码标准,
  常用的是GB2312-1980QGB12345QGB13000QGBKQ,以及(qing)最新标准GB18030。向下兼宏V?br />  值得一提的是,最新的GB18030标准要作ؓ(f)强制标准实行Q所有不支持GB18030标准的Y件将不能作  ?为 品出售?br />  gb2312:[1~2个字节]
  汉字Q第一个字节的值在0xB0?xF7之间Q第二个字节的值在0xA0?xFE之间?br />  gb12345,gb13000:[1~2个字节]
  汉字Q大致ؓ(f)W一个字节的值在0x81?xFE之间Q第二个字节的值在0x40?xFE之间?br />  gb18030Q[1~4个字节]
  单字节,其g0?x7F
  双字节,W一个字节的g0x81?xFEQ第二个字节的g0x40?xFEQ不包括0x7FQ?br />  四字节,W一个字节的g0x81?xFEQ第二个字节的g0x30?x39Q第三个字节的g0x81?xFEQ第四个字节的g0x30?x39?br />  unicodeQ?br />  UCS-2Q[l一2个字节][现在用的unicode]65536个码位?br />  UCS-4Q[l一4个字节]以防来不够用的2?1ơ方?码位?br />  codepage:
  各国~码和unicode的对应表
  UTF~码Q?br />  UTF是“UCS Transformation Format”的~写。UTF-8 ~码字符理论上可以最多到 6 个字节长Q可以编入?所有可能的2?1ơ方?UCS 代码Q是变字节编码?br />以上~码l一兼容ascii.
2.j2ee中文问题解决
  构架情景Q?br />  前台昄通过jsp,html;中间java的filter,servelt处理h;后台Qjava通过jdbc driver同数据库交互?br />  基础Q?br />  1]javaq行L以unicode为内存中存在形式。如Qstring s="中文"Qs在运行时内存是unicode~码?br />  2]数据库有一个存储编码集。表CZ采用存储的Ş式。如Q表中记录一个字Dgؓ(f)"中文"Q在数据库中以该~码集编码存在?br />  3]html有一个网늼码,可以通过meta指定?br />  程Q?
  1Q浏览器获得的htmlL来源?个方面:(x)
  1Qjava直接输出response,reponse.setContenttype指定~码
  2Qjsp<content type指定~码
  3, html<meta指定~码
  前两U在指定旉同时把生成的html数据按指定编码编码传q来了[把内存unicode转成对应~码]?br />  ?U的实际~码要看实际存储的时候如何存储的?br />  q样览器按指定~码把获得的html解码昄出来?br />  2Q浏览器发送数据时
  urlҎ(gu)ie讄可以L以rtf-8发送,表单数据默认采用|页~码发送,当然也可以指定?br />  3Qjava接受数据后首先把url按iso-8859-1解析,得到request参数。然后可以通过在request.setEncod~来按指定~码解析表单数据[~码的unicode转化]Q否则默认按iso-8859-1解析?br />   4Qjava讉K数据库通过jdbc driver。jdbc driver负责完成unicode和db默认~码的{化?br />  问题列DQ?br />  如果传递的html含有中文Q而编码默认指定ؓ(f)iso-8859-1,出现q
  如果url中含有中文以rtf-8发送,java不处理会(x)出现问题?br />  如果览器发送的form数据含有中文Q而没有通过对应~码解析request,得到的参C(x)出现问题?br />  如果jdbc driver出现bug,比如mysqlQ会(x)Dq?br /> 
 
 
 
 
 
 
 

 



英雄 2006-04-05 18:59 发表评论
]]>
վ֩ģ壺 йһëƬѿƵ| ɫAV߹ۿ| ѿؼëƬ| AV߲պŷ| ŷһ| AVվ߹ۿ| Ʒþþþþ| avۺavav| aëƬѹۿ | ëƬַ߹ۿĻ| ޾Ʒ| ˾þۺij| ɫѲ| ޵һƷƷþ| þҹӰԺѹۿ | 椸ѹۿƵ| þĻ| ޵ӰպƷ| þѾƷһ| ޾ƷӰҹ| Ҹ߳Ƶ| Ѹþ| ޾ɫ1314ݺ| 777777| һػɫƬ| þþþþ޾Ʒ| ߹ۿѸƵ| ȫѵһëƬ| av벻һ| 999ھƷѹۿ| avרav| Ů޾Ʒþþۺ| ĻþƷ| Ļ޾Ʒ߹ۿ| һֻ| պƷþþþþ| ޹ƷAV| ޾ƷþþþþĻ| ߾ƷƵѹۿ| freeƵ| ˳Ƶۿ|