Profilo di Uni EraThe Unified EraBlogElenchi Strumenti Guida

Blog


About "JViz"

It's a frame/block diagram editor based on Eclipse platform and GEF tech in developping currently, Its code name is "JViz" and will be released in one or two weeks.


The UNSAE 2.0 is suspended also, because I need urgently to draw some diagrams to make our mind clear on its architecture/structure, and also, using "JViz" .

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

See About "JViz" (2) and
About "JViz" (3) to know more about it...
(2006-3-31)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Think the UNSAE's future

    In my view, the development of UNSAE 2.0 is at least 10 months late to start up after the finish of UNSAE 1.0, so we should hurry up to carry back what we lost before.

    And beyond that, we should also make a plan to develop UNSAE 2.5(or 5.0) in a little future. since UNSAE 2.0 framework is figured on Java SE 1.4 level and Java EE 1.3 level, to be "modern", UNSAE 2.5 will be constructed for running on Java SE 5.0 and Jave EE 1.4 platforms. The obvious things need to do about UNSAE 2.5 are:
  • Re-code it with Java Programming Language 3.0
  • Add JMX support
  • ... ...
    And more beyond those, the next next UNSAE framework should be planning  for  running  on Java SE 6.0 and Jave EE 1.5(or 5.0) platforms.

My Words about UNSAE 1.0

To the production:
  • A little good work
  • Just a tiny experiment
  • Maybe a ugly framework
  • Definitely need much more improvements
To the folks:
  • All good staffs
  • Missing each other for long time
  • Best regards for everybody here!

mvc-config.dtd

<!--
DTD for UNSAE 2.0 - CoreService configuration
@version 2.0A

Note:
UNSAE 2.0 can inclusively parse another xml files via following process
instruction:

<?include "module-name/another-config.xml"?>

-->


<!--
Root element core config definition.
-->
<!ELEMENT mvc-config (url-mapping*, error-handler*)>
<!-- child elements:
url-mapping - Optional one or more mapping entrys to define the handling
process for the url.
error-handler - Optional one or more handler entrys to define the handler
for the kind of error.
-->
<!ATTLIST mvc-config
web-dir CDATA #IMPLIED
local-dir CDATA #IMPLIED
bundle CDATA #IMPLIED
>
<!-- attributes:
web-dir - Web uri prefix, pattern as */*.
local-dir - Local folder in .WAR, pattern as */*.
bundle - For message translation, by default as same as this xml file.
-->


<!ELEMENT url-mapping (form-bean?, (command|screen)+)>
<!-- child elements:
form-bean - Optional bean objects for populating parameters from request.
command - At least one or more logical processing objects definition.
screen - The optional one or more result page definition for client.
if any, the last command's choice is used; if no choice, screen
reference is used.
-->
<!ATTLIST url-mapping
url ID #REQUIRED
name CDATA #IMPLIED
screen IDREF #IMPLIED
permit CDATA ""
token (true|false) "false"
>
<!-- attributes:
url - Web uri string, pattern as */*.
name - Identifier of this url, inside the web dir. Be translatable by
starting with char '%'.
screen - Screen name reference as result for client
permit - Permission needed to access this url, by default, nothing needed.
token - Whether setup a token to prevent repeatedly committing.
-->


<!ELEMENT error-handler (screen)>
<!-- child elements:
screen - The unique handler for this type of errors in scope of this xml.
-->
<!ATTLIST error-handler
class CDATA "java.lang.Excepion"
>
<!-- attributes:
class - Error type for handling.
-->


<!ELEMENT form-bean EMPTY>
<!ATTLIST form-bean
name CDATA #IMPLIED
class CDATA #REQUIRED
scope (none | request | session | context) "request"
>
<!-- attributes:
name - Identifier of the form bean to put into the specified scope if not
'none'. If no name present, scope must be 'none'.
class - Required class name of the from bean, the class must has a default
contructor necessarily.
scope - Where does the form bean instance exist, by default 'request'
-->


<!ELEMENT command (argument*)>
<!-- child elements:
argument - Optional one or more arguments passed into the invoked method
of the command object. If no argument defined, (manager,
request, response, servlet) is setup as passed argument list .
-->
<!ATTLIST command
class CDATA #REQUIRED
method CDATA "doExecute"
singleton (true|false) "true"
>
<!-- attributes:
class - Required class name of the command, the class must has a default
contructor necessarily.
method - Method name for invoking, by default is "doExecute", can return
a screen name to choose it.
singleton - Whether the instance of the command is unique, by default is 'true'
for saving memory.
-->


<!ELEMENT argument EMPTY>
<!ATTLIST argument
kind (manager|request|response|session|context|servlet|form) #REQUIRED
>
<!-- attributes:
kind - Type of the argument: 'manager' means class ServiceManager, 'form'
means the form bean's class.
-->


<!ELEMENT screen (parameter*)>
<!-- child elements:
parameter - Optional one or more parameter definition to insert into the
mainboard page of the screen.
-->
<!ATTLIST screen
name ID #IMPLIED
page CDATA #IMPLIED
>
<!-- attributes:
name - Name of the screen, if not present, it can't be a choice of others.
page - Forward target as mainboard, inside the local dir.
-->


<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
key CDATA #REQUIRED
value CDATA #REQUIRED
dircet (true|false) "true"
>
<!-- attributes:
key - Identifier of this parameter.
value - Value content of the parameter, Translatable by starting with '%'.
dircet - Whether outputted directly or included into mainboard page.
-->

About core-config.xml

An example for core-config.xml. The defferences from UNSAE 1.0:
  • a better include manner
  • combining the url-def and screen-def in one file is more readable
  • form-bean added newly for auto parameter populating
  • web-dir is for supporting mutiple modules
----------------------------------

<?xml version="1.0" encoding="ascii"?>

<?include "another.xml"?>

<core-config web-dir="*/*" local-dir="*/*" error-screen="*">
<url-def url="*" target-screen="*" error-screen="*"
description="*" permit="*" token="false|true">


<!-- Optional -->
<form-bean name="*" class="*" scope="application|session|request" />

<!-- Optional, one or more -->
<command class="*" method="*" singleton="true|false">
<argument kind="*" />
</command>

<!-- Optional, one or more -->
<screen name="*" local-dir="*" page="*.jsp">
<parameter key="*" value="*" direct="true" />
<parameter key="*" value="*.jsp" direct="false" />
</screen>
</url-def>
</core-config>
----------------------------------

Any suggetions there? Is every tag name appropriate to its usage?

DTD will be made out soon.

The lasted core config example (rename to mvc-config.xml
):

----------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<?include "module/another-config.xml"?>

<!DOCTYPE core-config SYSTEM "mvc-config.dtd" >

<!--
Supposing:
context-root='/unsae2', core-servlet-mapping='*.do'
-->

<mvc-config bundle="#.properties" local-dir="dir1" web-dir="dir2">

<!-- Charge of URI '/unsae2/dir2/dothing.do' -->
<url-mapping url="dothing" name="%doThingName" permit="do" screen="DO_THING">
<!-- 'doThingName' is i18ned via bundle properties file -->
<form-bean class="demo.DoThingForm" name="doThingForm"
scope="none" />
<command class="demo.DoThingCommand" singleton="true" method="doThing">
<argument kind="manager" />
<argument kind="form" />
<!--
method doThing(ServiceManager m, DoThingForm f) invoked and can/may
return a String to choose a screen.
-->
</command>
<screen name="DO_THING" page="doThing.jsp">
<!-- /dir1/doThing.jsp is default result page for client -->
<parameter key="HtmlCopyRight" value="/jsp/copyRight.jsp" />
</screen>
<screen name="DO_THING2" page="/dir3/doThing2.jsp" direct="false">
<!--
/dir3/doThing2.jsp is optional result page for client.
Pay attention to the leading "/" of '/dir3/doThing2.jsp'.
-->
<parameter key="HtmlCopyRight" value="jsp2/copyLeft.jsp"
direct="false" />
<!--
/dir1/jsp2/copyLeft.jsp is optional component for /dir3/doThing2.jsp.
-->
</screen>
</url-mapping>
<error-handler class="java.lang.Excepion">
<screen page="/jsp/error.jsp">
<parameter key="HtmlTitle" value="%errorPageName" direct="true" />
</screen>
</error-handler>
</mvc-config>


UNSAE 2.0 Plan

Goals in order:
  • Adjust and optimize the net service architecture.
  • Make it more compact, agile, robust, efficient, easy-to-use and hot-load enabled.
  • O-R mapping and SQL sentence insulation.
  • More web-tier components.
  • Distributed transcation support.
  • Clustered cache.
  • Simplified JDO support.
  • Simplified DMA support.
  • Simplified Workflow support.
  • Eclipse plugins for developers.
  • ... ...
Ooh, it seems a long way for our steps!

Project UNSAE Open!

UNSAE project is aimed to construct a java-based, easy-to-use, compact and efficient web application framework for developers and customers.

*UNSAE 1.0F is preparing to release this week, and full documentation and demo application will be contained in the release.

uniera.org
2006-2-8
----------------------------------
*Just looking up a better web storage for the release package.
 

----------------------------------

* Release packages was uploaded to http://groups.msn.com/uniera-org/ already. Join the group to download them if you want.


Unified Net Service Architecture Experiment (UNSAE).

Founders:

Name E-Mail/MSN
${uniera}  uniera@gmail.com
Tainfch  yl_tfc@hotmail.com
Wangzq  walker612@hotmail.com
Kknd  llzhang168@hotmail.com
Garry  lily_kwan82@hotmail.com
Liubz  lbz_2003_22@hotmail.com
Chenxb  chenxiaobinsdu@hotmail.com

uniera.org
2006-2-18