»ðÉÕ¾¶-make life easier
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/archive.php?id=9495 存档链接: https://web.archive.org/web/20041103091430id_/http://www.blogbus.com:80/blogbus/blog/archive.php?id=9495
»ðÉÕ¾¶-make life easier 2004/07/01 µ½ 2004/08/01 Who runs the Shark project£¿
04-07-27 04:39 Who runs the Shark project£¿ The Enhydra Shark project is mainly driven/sponsored by "Together Teamlïmungen" in Austria, developed by great guys and girls in "Together Teamsolutions" in Belgrade/Serbia plus a lot of help from the community/other companies (like OpenWide) and has the goal to create a complete WfMC/OMG compliant open source workflow engine framework including a set of standard implementations for all plugin APIs and wrappers (like Corba,...). Different users/developers from the community are already using the flexibility of Shark to provide adapters for other environments like EJBs. Webservice wrappers EJB session beans APIs will follow. We are currently also thinking about a .NET port... The architecture of Shark corresponds to the goals defined by the "Workflow Working Group" of ObjectWeb ( www.objectweb.org ). The final vision is to provide a de-facto standard implementation of WfMC/OMG specifications based on principals of Objectweb for open source middleware (LGPL, standards compliant, commercially usable, flexible component architecture, adoptability to different environments, integration with other ObjectWeb technologies,...). Shark will be included into commercial products of Together Teamlïmungen but of course the engine/framework itself will stay LGPL on objectweb.org. Hope that helps. Greetings. Alfred Madl Post by fireshort @ 04:39 IntelliJ IDEA×î¼ÑÖÐÎÄ×ÖÐÍÉ趨
04-07-26 06:00 IDE Settings/Appearance/Font¸Ä³É"dialog.plain"Size:"12" £¨»¹¿ÉÒÔ½â¾ö½çÃæµÄһЩÂÒÂëÎÊÌ⣬Èç´ò¿ªÎļþ¶Ô»°¿òÖеÄÂÒÂ룩 IDE Settings/Colors & Fonts/Editor Font¸Ä³É"DialogInput"Size:"14"£¨ÔÚ1024*768ÏÂÃæ£© Post by fireshort @ 06:00 Programmatically interacting with Shark
04-07-23 10:34 Ö÷ÒªÊǽ²ÈçºÎÒÔcorbaµÄ·½Ê½Óëshark server·þÎñÆ÷£¬Ë¼Â·ºÜÇå³þ£¬ÖµµÃÌØ±ð±£Áô¡£ From : "Sasa Bojanic" s.bojanic@xxxxxxxxxxxxxx As you've probably seen, the Shark has an admin and worklist handler applications that use Shark API to access it. The clients access Shark server through the CORBA interface, which is defined in idl files that can be found within modules/SharkCORBA/idl. These idl files are used to generate java classes that are put into shakcorba.jar. This jar is used by the server (to really implement the methods for importing XPDL, starting processes, ...), and by Java clients to call these methods to perform wanted operations on server. If you like to write the custom Java application, you have to include library sharkcorba.jar in your project, and use its interfaces to access Shark server. First thing you have to do is to get the Shark server main object registered at the CORBA name server - you have to know the name server host name and port, as well as the name that Shark server uses to register itself (default settings are host=localhost, port=10123, workflowServerName=SharkServer) - look at the findWorkflowServer() method in the file SharkClient.java. This WorkflowServer object is the one defined in the idl interface WorkflowService.idl. The only method you can call on this object is getWorkflowClientServiceObject() - so you should call it and retrieve this object. Then you have to call the connect method of the WorlfowClientService object, and pass it login and password parameters, and if it is OK, you will be connected to the Shark server, and be able to use all of the methods defined in WorkflowClientService interface (the methods for uploading and loading XPDLs, getting all process definitions and the instantiated processes, ...). This interface is the "key to the shark server". To load the package, you can use _openPackage() method, when you do that, you can get all process definitions by calling get_iterator_processmgr() method, and then you can select some process definition object and call its method createProcess(),etc... The Shark API is not well documented, but you should look at the classes SharkServer, SharkClientService, SharkEngineManager and all WfXXXImpl classes. Also, read the OMG document http://www.omg.org/docs/formal/00-05-02.pdf
- this file describes the interface implemented by Shark server (plus Shark server upgrades it, the upgrades are defined in the WorkflowService.idl file). Also, look at the way of how the Shark clients are written. Greetings, Sasa. Post by fireshort @ 10:34 ¼¼ÇÉ£ºÀûÓÃAVT¼¼Êõ¼ò»¯HTMLÔªËØÊôÐÔµÄд·¨
04-07-22 11:51 AVTÊÇattribute Value TemplateµÄËõд£¬ÀýÈçÔÚXSLÀïÕâÑùµÄд·¨£º <xsl:element name="input"> <xsl:attribute name="Name"> <xsl:value-of select="@Name" /> </xsl:attribute> <xsl:attribute name="value"> <xsl:value-of select="Value"/> </xsl:attribute> </xsl:element> ¿ÉÒÔ¼òдΪ£º °ÂÃîÔÚÓÚ£ºÐ´ÊôÐÔʱ£¬Èç¹ûÒªÒýÓÃXMLÀïÃæµÄÖµ£¬Ïñͨ³£Ò»Ñùͨ¹ýXPathÒýÓã¬ÔÙÔÚÍâÃæ¼ÓÉÏ{}¡£ Post by fireshort @ 11:51 ¡¶java & xslt¡·ÊDZ¾ºÃÊé
04-07-21 06:40 Oreilly³öÆ·¡£½ñÌì±ßµ÷ÊÔ³ÌÐò±ß¿´£¬¾ÓÈ»¾Í¿´ÁËËÄÊ®¶àÒ³£¬¼ÓÉÏ×òÌì¿´µÄ¶þÊ®¶àÒ³£¬»ù±¾ÉϾÍÕÆÎÕÁËXSLT¼¼ÊõÁË¡£µ±È»²»ÄÜ¿¿Õâ±¾ÊéÕÆÎÕJava¡£ Post by fireshort @ 06:40 Framework Vs Library
04-07-14 04:41 Ò»¶Î¹ØÓÚFrameworkÓëLibraryµÄÇø±ðµÄºÜºÃµÄ½âÊÍ¡£ Additionally, a framework and library differ in the sense that the former is the latter turned inside out. What I mean is that if you use a library, the calling is done by the client. The calls are distinct and they do what they claim to be doing. In a framework, there are callbacks. Because there are callbacks, one should expect some kind of function pointers, virtual functions or interfaces. In fact, a framework uses polymorphism to let you add your object to the system already in place. A framework, then,is nothing but a structure with most of the plumbing already provided.Since a framework does not know what instance of objects will be added, it relies on the client objects adhering to certain interfaces. Because J2EE consists of callbacks (servlets -> service(Request, Response)), EJBs (ejbLoad, ejbStore, all container callbacks) it is a framework. On the other hand C consists of libraries because the client calls and the library function/method just does its stuff (e.g. atoi or printf in C). In a framework the call sequence is not in your control while in a library, it is. A good example other than above is Swing where you provide certain methods (e.g. getPreferredSize(), getMinimumSize() etc) and you wait to be called. Also, libraries don't maintain state. Frameworks do. Because a framework is a structure (while libraries are building blocks)and because a structure is difficult to change, bad design of the framework can quickly become difficult to use. An example is MFC framework which while working through callbacks, has a top heavy (meaning the base class consists of most methods) class and this makes it cumbersome to use. HTH, Regards, Kamesh Post by fireshort @ 04:41 ¸Ä±äTransformerÊä³öµÄxml×Ö·û±àÂë
04-07-14 04:21 ÔÚjavaÖÐ,ĬÈϵÄÊä³ö×Ö·û±àÂëÊÇ:UTF-8,¼´Ê¹XMLÎĵµÓëXSLÎĵµµÄ±àÂë¶¼ÒѾÉèΪ¡°GB2312¡±£¬transformºóµÄXMLÈÔÈ»ÊÇUTF-8¡£½â¾ö·½·¨ºÜ¼òµ¥£ºÍ¨¹ýÉèÖÃת»»Æ÷µÄ×Ö·ûÊä³ö±àÂëµÄϵͳÊôÐÔÀ´½øÐиı䡣 try { TransformerFactory tFactory; Transformer transformer; tFactory = TransformerFactory.newInstance(); transformer = tFactory.newTransformer(); //-------- begin java.util.Properties properties = transformer.getOutputProperties(); properties.setProperty(OutputKeys.ENCODING,"GB2312"); transformer.setOutputProperties(properties); //------- end StreamResult result = new StreamResult(out); DOMSource source = new DOMSource(doc); transformer.transform(source, result); } catch(javax.xml.transform.TransformerConfigurationException e){e.printStackTrace();} catch(javax.xml.transform.TransformerException e){e.printStackTrace();} Post by fireshort @ 04:21 VMWare ʹÓÃÓ²Å̵ÄÈýÖÖ·½Ê½
04-07-10 02:59 Ò»ÊÇÏÈÔÚµçÄÔÉÏÃæ°²×°¶à¸öϵͳ£¬²¢ÅäÖóɶàϵͳÆô¶¯µÄ·½Ê½£¬È»ºóÔÚVMWareÀïÃæ¾Í¿ÉÒÔÖ±½Ó½«ÁíÒ»¸öϵͳ×÷Ϊguest OSÁË£¬ÔÀ´µÄÓ²ÅÌ·ÖÇøÍêÈ«²»Óö¯£» ¶þÊÇÔÚÒ»¸öϵͳÀïÃæÊ¹ÓÃVMWare°²×°guest os£¬Ê¹ÓÃÎïÀíÓ²Å̵ķÖÇø£¬ÕâÖÖ·½Ê½Ö»ÄÜÔÚVMWareÀïÃæÆô¶¯guest os¡£ ÈýÊÇʹÓÃVMWareµÄÐéÄâ´ÅÅÌ¡£ Post by fireshort @ 02:59 ¸øÕ¬¼±ËÍ·ÅÁËn´Î·É»ú
04-07-09 04:03 Ô¶¨ÎÒµÄÐÐÀîË͵½Ê±¼äÊÇ7ÔÂ3ÈÕÏÂÎç,µ«7ÔÂ3ÈÕ¹ýÈ¥ÁË£¬Õ¬¼±ËÍûÓÐÈκε绰 Óë½âÊÍ¡£ 7ÔÂ4ÈÕÔçÉÏ´òµç»°È¥¹ãÖÝÕ¬¼±ËÍÎÊ£¬¶Ô·½³Æ£º½ñÌì²Å·¢»õ£¬ÍíÉÏ»áË͵½¡£ÍíÉÏ ÔÚËÞÉáµÈºò£¬Î޵绰¡£ 7ÔÂ5ÈÕÎÒÒ»Ìì¶¼ºÜ棬ûʱ¼ä×öÈκδ¦Àí£¬Õ¬¼±ËÍÒàÎÞÈκε绰¡£ 7ÔÂ6ÈÕÔçÉÏÕ¬¼±Ë͵ÄÈË´òµç»°À´£¬ÓëÆäÔ¼ºÃÍíÉÏ6µãÖÓÒÔºóË͵½¡£ÍíÉÏÔçÔçÔÚ ËÞÉáµÈºò£¬¾Ãºò²»ÖÁ£¬´òµç»°¸øÕ¬¼±ËÍ£¬´Ó¹ãÖÝÄDZßÁ¬´òÊý¸öµç»°£¬×îºóÕÒµ½ÉîÛÚ Õ¬¼±Ë͵ÄһλС½ã¡£¸ÃС½ã¾ÓÈ»²»ÖªµÀÆäͬÊÂÔçÉϵŤ×÷£¬Õ¬¼±Ë͵Ť×÷½»½ÓÈç´Ë Ö®²î£¬ÄÑÒÔÖÃÐÅ¡£ÓëÆä¾Ã̸֮ºó£¬Ô½ºÃµÚ¶þÌìÍíÉÏÔÙËÍ¡£ 7ÔÂ7ÈÕÔçÉÏÕ¬¼±ËÍÓÖÓÐÈË´òµç»°À´£¬ÔÙÓëÆäÔ¼ºÃÍíÉÏ7µãËÍÀ´¡£ÍíÉÏ6µã¶à»ØÈ¥£¬ ¼´´òÕ¬¼±Ë͵绰£¬ÈÔÊÇ×òÌìµÄС½ã£¬¶Ô·½¾ÓÈ»ÓÖ³ÆË¾»ú»¹Ã»ÓлØÀ´£¬ÒªÍíµã¡£È¥Ë¯¾õ£¬ Á½¸ö¶àÖÓºó£¬Õ¬¼±ËÍÔçÉÏ´òµç»°À´µÄÈËÖÕÓÚÔٴδòµç»°À´£¬³Æ9µã¶à²ÅÄÜËÍÐÐÀî¹ýÀ´¡£ 9£º35£¬±»ÈË·ÅÁËn´Î·É»úµÄÐÐÀîÖÕÓÚÖÕÓÚËÍÀ´£¬ÆäÖÐÒ»¸öÐÂÂòµÄÏËά´üÒÑÁÑ¿ª¡£ ½¨ÒéÖдóºóÇÚ´¦£ºÒÔºó½ûÖ¹Õ¬¼±ËͽøÖÐ´ó¡£ ÌáÐÑÒÔºóµÄʦµÜʦÃãºÒÔºóÕÒÕ¬¼±ËͰìÀíÐÐÀîÍÐÔËÇëÈý˼¡£ Post by fireshort @ 04:03 Oracle×î¸ßȨÏÞµÄÃÜÂëÍüÁË£¬ÈçºÎÕһأ¿
04-07-08 04:15 ÅóÓÑÅöµ½µÄÎÊÌ⣬Ӧ¸ÃÊǺܳ£¼û£¬ÓÃgoogleȴûÕÒµ½´ð°¸¡£ÓÐûÓÐÅóÓѽâ¾ö¹ýÕâ¸öÎÊÌâÄØ£¿ Post by fireshort @ 04:15 СÐÄ£ºthunderbird¿ÉÄܻᶪʧÄãÈ«²¿Óʼþ
04-07-07 02:37 ½ñÌìÓÃthunderbird 0.7.1ÊÕÓʼþ£¬µ±ÊÕµ½Ò»·âÐÂÓʼþʱ£¬nortonÌáʾÊDz¡¶¾Óʼþ£¬È»ºóÔÙ½øÈ¥thunderbirdÀïÃæ¿´£¬·¢ÏÖÊÕµ½ÐÂÓʼþµÄÐÅÏäÀïÃæµÄÓʼþÈ«²¿²»¼ûÁË¡£ºÃÔÚÀïÃæÒ²Ã»ÓÐÊ²Ã´ÖØÒªµÄÓʼþ¡£²»¹ýÔÝʱ»¹ÊDz»¸ÒʹÓÃtbÁË£¬ÆäËûÎÊÌ⻹¿ÉÒÔÈÌÊÜ£¬¶ªÊ§Êý¾ÝʵÔÚÊǺÜÑÏÖØµÄ´íÎó¡£ÔÝʱ»¹ÊÇÓûØdm°É¡£dm×î½üµÄ¸Ä½øÒ²ÂýÁ˺ܶࡣ Post by fireshort @ 02:37