Package Name | Comment |
email | |
org.enhydra.shark | |
org.enhydra.shark.admin.repositorymanagement | |
org.enhydra.shark.api |
Common Shark package.
Contains interfaces and exceptions used in both client-side and
internal interfaces.
|
org.enhydra.shark.api.admin | |
org.enhydra.shark.api.client.timebase |
Derived from OMG interface. Contains the definition of final class
representing UTC time.
|
org.enhydra.shark.api.client.wfbase |
Derived from OMG interface. Contains some common interfaces and exceptions
used in other modules.
|
org.enhydra.shark.api.client.wfmc.audit |
Provides a Java binding of WfMC Interface 5.
|
org.enhydra.shark.api.client.wfmc.wapi |
Provides a Java binding of WfMC Interface 2/3 (WAPI v.1.0).
|
org.enhydra.shark.api.client.wfmodel |
Derived from OMG interface. Contains base interfaces and exceptions for
implementation of Workflow Management Facility.
|
org.enhydra.shark.api.client.wfservice |
Shark's own extension to OMG interface. It is mainly consisted of interfaces
and exceptions needed for the administrative purpose. Also, here we
define the main interface called SharkInterface, which is the entry
point to all other shark's interfaces.
|
org.enhydra.shark.api.client.xpil | |
org.enhydra.shark.api.common |
Common Shark package.
Contains interfaces and exceptions used in both client-side and
internal interfaces.
Expirience has learned us that it's not that easy to build any
usefull expression to be used in xxIterators. Since Shark supports
BeanShell and JavaScript, making expressions starts to be even more
complicated once you start to use string literals. Also, reading
and debugging of such expression might turn into very tedious task.
On the other side OMG (or at least the way we read it) explicitely
says set_expression method takes String as parameter, and there's
no escape.
ExpressionBuilder and it's extending interfaces/classes serves the
intention to ease this task, although there is another benefit -
it allows us to prepare such expressions xxIterator can execute
directly against database, thus improving the performance.
The old style building (and setting) expressions for iterators diplayed
in the code snippet bellow, quite efficiently hides the actual expression.
ExecutionAdministration eAdmin=Shark.getInstance().getAdminInterface().getExecutionAdministration();
eAdmin.connect("user","secret","","");
WfProcessMgrIterator pmi=eAdmin.et_iterator_processmgr();
// - old style building expression
query="packageId.equals(\"test\") && enabled.booleanValue()";
// - old style building expression
pmi.set_query_expression(query);
WfProcessMgr[] procs=pmi.get_next_n_sequence(0);
Our intention is to expose the main properties through ExpressionBuilders,
allowing the code to be easier to write, more importantly easier to read
and maintain.
ExecutionAdministration eAdmin=Shark.getInstance().getAdminInterface().getExecutionAdministration();
eAdmin.connect("user","secret","","");
WfProcessMgrIterator pmi=eAdmin.et_iterator_processmgr();
// - new style building expression
ProcessMgrIteratorExpressionBuilder eb = Shark.getInstance()
.getExpressionBuilderManager()
.getProcessMgrIteratorExpressionBuilder();
eb.addPackageIdEquals("test")
.and()
.addIsEnabled()
.setOrderByName(ExpressionBuilder.ORDER_DESCENDING);
// - new style building expression
pmi.set_query_expression(eb.toExpression());
WfProcessMgr[] procs=pmi.get_next_n_sequence(0);
Additional benefit is that now Shark can internally optimize such queries
to be performed on DB server, instead of reading everything into memory,
than comparing each instance there. Therefore new feature appered -
ordering capability.
|
org.enhydra.shark.api.internal.appmappersistence |
Application map persistence component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation to store the mapping information about
XPDL Application->Shark Tool Agent application mappings.
If this component isn't present, shark will not store/use mapping information.
|
org.enhydra.shark.api.internal.assignment |
Assignment component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation for list of run-time users to assign
new activity to. If this component isn't present, kernel will apply
basic assignment rules: if there are no any mappings, the assignment
for the user that created the process will be made, otherwise, assignments
will be made base on the mapping information.
|
org.enhydra.shark.api.internal.caching |
Cache component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation for caching of runtime objects (currently the
processes and resources), so that execution can be performed much faster.
If this component isn't present, kernel will not perform any caching - it will
always ask for data from DB.
If shark is used from more then one VM on the same DB at the same time,
it must be configured not to use any implementation of this component.
|
org.enhydra.shark.api.internal.eventaudit |
Audit event component interface.
|
org.enhydra.shark.api.internal.instancepersistence |
Instance persistence component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation for storing information relevant to the
shark execution (processes, activities, assignments, resources, ...).
This component implementation MUST exist in order to run shark engine.
|
org.enhydra.shark.api.internal.interoperability | |
org.enhydra.shark.api.internal.logging |
Logging component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation to log various runtime events.
If this component isn't present, shark will not log events.
|
org.enhydra.shark.api.internal.partmappersistence |
Participant map persistence component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation to store the mapping information about
XPDL Participant->Shark user mappings.
If this component isn't present, shark will not store/use mapping information.
|
org.enhydra.shark.api.internal.repositorypersistence |
Repository persistence component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation to store the information about XPDLs and
their versions.
This component must be present.
|
org.enhydra.shark.api.internal.scripting |
Scripting component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation to get various script interpreters used
for evaluation of XPDL expressions for transition conditions and others.
If implementation of this component isn't present, shark will not work.
|
org.enhydra.shark.api.internal.security |
Security component interface.
For applying some special operations while enacting a process
developer has an option to implement and plug-in this component.
Currently, this is pretty useless component, but interface will be
changed, and appended by many methods that would be used for authorization
based on each client interface method.
|
org.enhydra.shark.api.internal.toolagent |
Tool agent component interface.
Providing a way to implement many different Tool Agents that could perform
various usefull operations. These tool agent applications are called
from "Tool" activities as defined in XPDL.
|
org.enhydra.shark.api.internal.usergroup |
User/Group component interface.
Providing a high level of adaptability, Shark's kernel will relay on
this component implementation to retrieve and handle the information on
organizational structure.
Shark can work without implementation of this component.
|
org.enhydra.shark.api.internal.working |
Working instances (kernel) component interface.
This is a shark's core interface, and it provides a way to have different
implementations of shark kernel.
|
org.enhydra.shark.appmappersistence | |
org.enhydra.shark.asap | |
org.enhydra.shark.asap.test | |
org.enhydra.shark.asap.types | |
org.enhydra.shark.assignment | |
org.enhydra.shark.caching | |
org.enhydra.shark.client.utilities | |
org.enhydra.shark.corba | |
org.enhydra.shark.corba.poa | |
org.enhydra.shark.ejb | |
org.enhydra.shark.eventaudit | |
org.enhydra.shark.instancepersistence | |
org.enhydra.shark.interoperability | |
org.enhydra.shark.logging | |
org.enhydra.shark.partmappersistence | |
org.enhydra.shark.persistence | |
org.enhydra.shark.repositorypersistence | |
org.enhydra.shark.scripting | |
org.enhydra.shark.security | |
org.enhydra.shark.servlet | |
org.enhydra.shark.swingclient | |
org.enhydra.shark.swingclient.actions | |
org.enhydra.shark.swingclient.processlist | |
org.enhydra.shark.swingclient.workflowadmin | |
org.enhydra.shark.swingclient.workflowadmin.actions | |
org.enhydra.shark.swingclient.workflowadmin.application | |
org.enhydra.shark.swingclient.workflowadmin.cache | |
org.enhydra.shark.swingclient.workflowadmin.definition | |
org.enhydra.shark.swingclient.workflowadmin.definition.actions | |
org.enhydra.shark.swingclient.workflowadmin.instantiation | |
org.enhydra.shark.swingclient.workflowadmin.instantiation.actions | |
org.enhydra.shark.swingclient.workflowadmin.monitoring | |
org.enhydra.shark.swingclient.workflowadmin.monitoring.actions | |
org.enhydra.shark.swingclient.workflowadmin.processlist | |
org.enhydra.shark.swingclient.workflowadmin.repository | |
org.enhydra.shark.swingclient.workflowadmin.repository.actions | |
org.enhydra.shark.swingclient.workflowadmin.user | |
org.enhydra.shark.swingclient.workflowadmin.user.actions | |
org.enhydra.shark.swingclient.workflowadmin.worklist | |
org.enhydra.shark.swingclient.worklist | |
org.enhydra.shark.swingclient.worklist.actions | |
org.enhydra.shark.swingclient.worklisthandler | |
org.enhydra.shark.test | |
org.enhydra.shark.toolagent | |
org.enhydra.shark.usergroup | |
org.enhydra.shark.util | |
org.enhydra.shark.utilities | |
org.enhydra.shark.utilities.dods | |
org.enhydra.shark.webclient | |
org.enhydra.shark.webclient.business | |
org.enhydra.shark.webclient.business.graph | |
org.enhydra.shark.webclient.presentation | |
org.enhydra.shark.webclient.presentation.utils | |
org.enhydra.shark.webclient.spec | |
org.enhydra.shark.webclient.spec.utils | |
org.enhydra.shark.wfxml | |
org.enhydra.shark.wfxml.test | |
org.enhydra.shark.wfxml.types | |
org.enhydra.shark.wrd | |
org.enhydra.shark.ws | |
test | |