??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品综合视频,日韩国产综合,一本大道久久a久久精二百http://www.aygfsteel.com/lancelotzx/archive/2006/09/20/70903.html泡龙龙泡龙龙Wed, 20 Sep 2006 13:16:00 GMThttp://www.aygfsteel.com/lancelotzx/archive/2006/09/20/70903.htmlhttp://www.aygfsteel.com/lancelotzx/comments/70903.htmlhttp://www.aygfsteel.com/lancelotzx/archive/2006/09/20/70903.html#Feedback2http://www.aygfsteel.com/lancelotzx/comments/commentRss/70903.htmlhttp://www.aygfsteel.com/lancelotzx/services/trackbacks/70903.html

      今天要介l的是基于web的shark。不知道Z么字体都是斜体。烦性不配图了。本目代码部分源自Geeta Ramani的Struts in Shark?br />      先来个How toQ?br />      1. 在jbuilder 2006中新Z个web目Q包含struts最新版的库。我L名字叫TestingShark,路径?br />D:\jproject\TestingShark。可别放中文目录下,不然可能报错?br />      2.把你安装好的shark打开Q进入lib文g夹,扑ֈ里面所有shark开头的jar文gQ都复制到D:\jproject\TestingShark\TestingShark\WEB-INF\lib中。当Ӟ你也可以把里面所有的jar文g都copyq去Q里面好东西不少Qcommons,axis,xalanQjawe包应有尽有。不要考文件夹Q只用考jar包。统计了
一下shark开头的?3V不要忘记sqlserver?个驱动文件?br />      3.开始写代码。Action~!
      按照昨天说的Qshark要运行v来先要把package是xpdllloadq来。如何在web上实玎ͼ
先看看shark API中的org.enhydra.shark.api.client.wfservice 之Interface PackageAdministration。关于包的所有操作都有了?br />     StrustsinShark目中徏立了一个JSPAdminUtilitiesc,里面有一些封装好的操作?br />package com.xxxx.shark.util.jsp;

import java.io.File;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Vector;

import org.enhydra.shark.Shark;
......
import org.enhydra.shark.api.client.wfservice.PackageAdministration;
import org.enhydra.shark.api.client.wfservice.RepositoryMgr;
......
Ҏ String  PackageLoad(String xpdlName)
/**
  * 取得xpdl文gQxpdl文g必须在Shark服务端的Rs..external目录下,不然p输入路径?br />  *
  * @param  xpdlName           Description of the Parameter
  * @return                    Description of the Return Value
  * @exception  BaseException  Description of the Exception
  */
 public String packageLoad(String xpdlName) throws BaseException {
//包实例化需要从shark.getInstance()q入Q这步非常的重要?/p>

  PackageAdministration pa = Shark.getInstance().getAdminInterface().getPackageAdministration();
//Z么要用RepositoryMgrQ因取得package id 来验证此包是否已l装载过?br />  RepositoryMgr rm = Shark.getInstance().getRepositoryManager();
  String pkgId = rm.getPackageId(xpdlName);
//如果没有装蝲包,׃手吧?br />  if (!pa.isPackageOpened(pkgId)) {
   try {
    pa.openPackage(xpdlName);
   }
   catch (Throwable e) {
    e.printStackTrace();
    throw new BaseException(e);
   }
  }
  return rm.getPackageId(xpdlName);
 }

Ҏ  boolean packageDownload(String pkgId, String completeFilePath)
 /**
     * 从数据库中下载XPDL文g到指定目?Table XPDLS and XPDLData)
     * @param pkgId id of pkg you want to download
     * @param completeFilePath where you want the file downloaded
     * @throws BaseException, FileNotFoundException, IOException
     */
 public boolean packageDownload(String pkgId, String completeFilePath) throws BaseException, FileNotFoundException, IOException {
  PackageAdministration pa = Shark.getInstance().getAdminInterface().getPackageAdministration();
   RepositoryMgr rm = Shark.getInstance().getRepositoryManager();
  //String pkgId = rm.getPackageId(xpdlName);
  //String pkgId = "WellnessDemo";
  String currVersion = pa.getCurrentPackageVersion(pkgId);
  byte[] contents = pa.getPackageContent(pkgId, currVersion);
  //FileOutputStream fos = new FileOutputStream("C:\\xpdls\\WellnessDemo.xpdl");
  FileOutputStream fos = new FileOutputStream(completeFilePath);
  fos.write(contents);
  //return "theXpdl";
  FileDescriptor theFd = fos.getFD();
  return true;
 }

           q段大家自己看看API理解吧。Shark的API是非常方便的。输Z用FileOutputStream。这?br />在页面上我是q样写的。把一些属性放到map中然后做为request传递。早知道qpackageDownload了?br />              HashMap[] hm=(HashMap[])request.getAttribute("packages");
          for(int i=0;i<hm.length;i++)
                           {

                         field_1=(String)hm[i].get("packageId");
                         field_2=hm[i].get("isPackageOpened").toString();
                                        byte[] b= (byte[])hm[i].get("packageContent");
                                        FileOutputStream fs = new FileOutputStream("c:\\"+field_1+".xml");
                                        fs.write(b);
                                        fs.close();
                            }
             做ؓxml保存Q用dom来修改,攑ּjawe的swing界面Q在面上修ҎE。。。这是不得以?br />Z的办法?br />      That's all for today~


泡龙龙 2006-09-20 21:16 发表评论
]]>
我的Shark使用l验(2)http://www.aygfsteel.com/lancelotzx/archive/2006/09/19/70458.html泡龙龙泡龙龙Tue, 19 Sep 2006 03:12:00 GMThttp://www.aygfsteel.com/lancelotzx/archive/2006/09/19/70458.htmlhttp://www.aygfsteel.com/lancelotzx/comments/70458.htmlhttp://www.aygfsteel.com/lancelotzx/archive/2006/09/19/70458.html#Feedback1http://www.aygfsteel.com/lancelotzx/comments/commentRss/70458.htmlhttp://www.aygfsteel.com/lancelotzx/services/trackbacks/70458.html

      接着昨天的来吧。  昨天说道xpdl文g作ؓpackage的Ş式装载入shark之中。一个xpdl文g中是?br />  角色(role)来分配Q务的Q如下图所C?br />o_Snap3.jpg

q里面有三个角色,报销人,部门l理Q胦务?br />        来到shark中,选择user managementq个tab,q入W一个sub tab Q-Account。在q里d用户吧,点击下方?new"按钮Q弹出对话框。这里我们只用填?user name"?password"即可?group
name"若填写Q就是新Z个group,用户作ؓ一个group user存在。若不填写,用户仅做Z个single
user存在?group是存攄L集合Q在用户和角色的映射中可以直接当作用h映射Q相当于?br />集合中的全部用户都映到同一角色?
         说到映射Qshark是相当灵zȝ。点击user management中的W三个sub tab Q-Mapping。现在里面什么都没有。点M方的"Add"按钮。弹Z个对话框。左侧的?Role List",右侧?User List"。当Ӟ我们先要把package加蝲q去后,角色列表才出的来哦。User List中有我们刚才加入的用戗如果刚才创Zgroup的话Qgroup也做Z个user存在。选择一个角色和用户Q点M方的"Apply"按钮Q就成功创徏了一条映。我们可以把一个角色映到多个用户?{效于映到一个group上,用户很多的时候就创徏group吧?。也可以把多个角色映到一个用户上。完成后关闭对话框。现在Mappingq个tab中就有我们刚才添加的映射了?br />      最后我们来到Worklist managementq个tab。在select userq个下拉框中选择W一步的role对应的角艌Ӏ不好表qͼ是做第一条流E的用户了。选中后就出现一条待办工作。如下图
o_Snap4.jpg
       
         Oh yeah!我们q是先用q个用户登陆吧。来到这个tab,当点选前方checkbox后,用户的worklist状态就由open.not_start.not_running改变成ؓrunning了。后面的计时?Duration)也开始计时。点M方的"update variable(s)"来完成表单,最后点?Complete"提交。一件待办工作就完成了,下个用户再登陆重复这个步骤即可?br />        q个界面q有?Reassign"按钮Q相当于"公文转发"Q把自己手上的事情交l另一个用h办?br />只要不点?complete",一个步骤可以反复assign到多个用P当然Q这些用户必d映射到相同的role
上才行。细节就不多说了Q大家自p试吧?br />      swing界面比较陋,但是基本功能都有Q明天我们来构徏webpȝ?br />

   Z么都是斜体字Q谁能告诉我Q?

泡龙龙 2006-09-19 11:12 发表评论
]]>
我的Shark使用l验(1)http://www.aygfsteel.com/lancelotzx/archive/2006/09/18/70402.html泡龙龙泡龙龙Mon, 18 Sep 2006 14:43:00 GMThttp://www.aygfsteel.com/lancelotzx/archive/2006/09/18/70402.htmlhttp://www.aygfsteel.com/lancelotzx/comments/70402.htmlhttp://www.aygfsteel.com/lancelotzx/archive/2006/09/18/70402.html#Feedback0http://www.aygfsteel.com/lancelotzx/comments/commentRss/70402.htmlhttp://www.aygfsteel.com/lancelotzx/services/trackbacks/70402.html

      安装好了Shark,大家可以先玩一玩Shark的Swing界面。进入Shark的安装目录中的bin文g夹,
q行runAll.bat。立马蟩Z个DosH口Q一个Shark Server,昄的是SharkEngineManager的日志?br />用户登陆后在此窗口可以看到自q操作记录。一个Shark AdminH口,里面昄的信息就不是
那么多了。不这些,在随后出现的Swing登陆界面中输入用户名admin,密码enhydra,rp好的?br />q陆到ȝ面了。rp不好的会出现一个提C-QServer is busy。重新关掉这些窗口,重新
q行runAll.bat吧?br />      q入后先点击Repository managementq个tab,里面有一些xpdl文gQ这些是shark在启动时p?br />的位?Shark-root%\repository\external之中的东东了。想要用自己在jawe中编辑好的流E就点击
下方的upload自己加吧。加入xpdl后进入下一个tabQ-package management。这里面现在什么都没有Q点M方的load按钮Q出现select package对话框,现在里面应该有你加入的xpdl文g了,选中
后再点击对话框中的load。关闭对话框后一个xpdl程囑ְ是一个packageq成功加蝲了。如?img src="http://www.aygfsteel.com/images/blogjava_net/lancelotzx/15347/r_Snap2.jpg" />
里面的id和name都是在jawe中画图时定义的?/p>

   随后q入process instantiation management。在左侧的目录树中进入最底层Q出C个process?br />一个是unknownQ很奇怪,但是q个process是不能清除的Q难道是控制程的流E?先不了?br />选中那个你自己定义的程Q点M方的Instantiate按钮Q一条流E就启动了。明天l?br />    



泡龙龙 2006-09-18 22:43 发表评论
]]>
Enhydra Shark的安装和配置http://www.aygfsteel.com/lancelotzx/archive/2006/09/14/69753.html泡龙龙泡龙龙Thu, 14 Sep 2006 12:47:00 GMThttp://www.aygfsteel.com/lancelotzx/archive/2006/09/14/69753.htmlhttp://www.aygfsteel.com/lancelotzx/comments/69753.htmlhttp://www.aygfsteel.com/lancelotzx/archive/2006/09/14/69753.html#Feedback0http://www.aygfsteel.com/lancelotzx/comments/commentRss/69753.htmlhttp://www.aygfsteel.com/lancelotzx/services/trackbacks/69753.html
  • 下蝲shark
    ?a >http://shark.objectweb.org/ 下蝲shark的源码和安装E序。(我下载的是shark1.0.1,现在已有shark1.1Q?/li>
  • 安装shark
    直接点击shark-1.0-1.setup.exe。假讑֮装到D:\Shark-1.0?/li>
  • 与数据的q接Q以sqlserver2000ZQ?br />(1) 数据库的驱动程序包拯到D:\Shark-1.0\lib\contrib?br />(2) 修改安装目录下的configure.properties
     修改下列|
     db_loader_job=msql
     db_user=sa
     db_passwd=你的数据库密?br /> db_ext_dirs=数据库的驱动E序包目录即D:/Shark-1.1/lib/contrib.
    (3) 修改安装目录下的configure.xml
    文件中所有的hsql替换为msql,可以了。还有其他的ҎQ我感觉q种Ҏ?br />(4) 建立数据名ؓshark的空数据?br />(5) q行configure.bat
    到此shark和sqlserver的连接配|完毕,按doc下QuickStartExample文档说明Q运行例子,在数据库可看到数据?/li>

    泡龙龙 2006-09-14 20:47 发表评论
    ]]> վ֩ģ壺 ӡ| | ֦| İ| | | | Դ| | Ȫ| Ͽ| Ӧñر| | ͩ| ֹ| | ̺| | | ˳| ̨| ξ| ױ| ˳| | | | | ݰ| | | ũ| Զ| ˮ| | Ϫ| ƽ| | Ӷ| п| |