| Uni Era's profileThe Unified EraBlogLists | Help |
|
|
UNSAE 1.1A Refresh It seems that UNSAE 1.5 will take a long time to be carried out, we think it's necessary to update the 1.0 package, so there it is: and also Type-Driven Rendering A Type-Driven Rendering tech is being considered to add in UNSAE 1.5 for high reusing of page elements. ... CoreService finishedThe CoreService of UNSAE 1.5, as Controller role in the MVC design pettern, is finished now. Its lastest config spec is following <?xml version="1.0" encoding="ascii"?> <schema targetNamespace="http://www.uniera.org/unsae/core" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:core="http://www.uniera.org/unsae/core" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.5b"> <element name="module" type="core:moduleType" /> <complexType name="moduleType"> <sequence> <element name="bundle" type="core:bundleType" minOccurs="0" maxOccurs="unbounded" /> <element name="script" type="core:scriptType" minOccurs="0" maxOccurs="unbounded" /> <element name="form" type="core:formType" minOccurs="0" maxOccurs="unbounded" /> <element name="screen" type="core:screenType" minOccurs="0" maxOccurs="unbounded" /> <element name="entry" type="core:entryType" minOccurs="0" maxOccurs="unbounded" /> <element name="error" type="core:errorType" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="version" type="string" fixed="1.5b"/> <attribute name="name" default="/"> <simpleType> <restriction base="string"> <pattern value="/.*" /> </restriction> </simpleType> </attribute> <attribute name="folder" default="/"> <simpleType> <restriction base="string"> <pattern value="/.*" /> </restriction> </simpleType> </attribute> </complexType> <complexType name="scriptType"> <simpleContent> <extension base="string"> <attribute name="name" type="string" default="" /> <attribute name="compile" type="boolean" /> </extension> </simpleContent> </complexType> <complexType name="bundleType"> <attribute name="file" type="core:literalType" /> <attribute name="locale" type="string" default="" /> </complexType> <complexType name="formType"> <sequence> <element name="script" type="core:scriptType" minOccurs="0" /> </sequence> <attribute name="type" type="core:classType" use="required" /> <attribute name="name" type="core:formIdType" /> <attribute name="eval" type="core:exprType" /> <attribute name="scope" type="core:scopeType" default="request" /> </complexType> <complexType name="screenType"> <sequence> <element name="param" type="core:paramType" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="name" type="core:screenIdType" use="optional" /> <attribute name="desc" type="core:literalType" /> <attribute name="file" type="core:literalType" use="required" /> </complexType> <complexType name="entryType"> <sequence> <element name="form" type="core:formType" minOccurs="0" maxOccurs="1" /> <element name="script" type="core:scriptType" minOccurs="0" maxOccurs="1"/> <element name="command" type="core:commandType" minOccurs="0" maxOccurs="unbounded"/> <element name="screen" type="core:screenType" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="uri" type="core:uriType" use="required" /> <attribute name="desc" type="core:literalType" /> <attribute name="eval" type="core:exprType" use="optional" /> <attribute name="form" type="core:formIdType" use="optional" /> <attribute name="target" type="core:screenIdType" use="optional" /> <attribute name="error" type="core:screenIdType" use="optional" /> <attribute name="input" type="core:screenIdType" use="optional" /> <attribute name="permit" type="string" default="" /> <attribute name="token" type="boolean" default="false" /> </complexType> <complexType name="commandType"> <sequence> <element name="param" type="core:paramType" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="type" type="core:classType" use="required" /> <attribute name="scope" type="core:scopeType" default="context" /> <attribute name="method" type="core:literalType" default="execute" /> </complexType> <complexType name="paramType"> <attribute name="name" use="required"> <simpleType> <restriction base="string"> <pattern value="\$.*" /> <pattern value=".*" /> </restriction> </simpleType> </attribute> <attribute name="value" type="core:literalType" use="optional" /> </complexType> <complexType name="errorType"> <sequence> <element name="script" type="core:scriptType" minOccurs="0" /> <element name="screen" type="core:screenType" minOccurs="0" /> </sequence> <attribute name="type" type="core:classType" use="required" /> <attribute name="target" type="core:screenIdType" /> </complexType> <simpleType name="scopeType"> <restriction base="string"> <enumeration value="request" /> <enumeration value="thread" /> <enumeration value="session" /> <enumeration value="context" /> <enumeration value="unique" /> </restriction> </simpleType> <simpleType name="uriType"> <restriction base="string" /> </simpleType> <simpleType name="classType"> <restriction base="string" /> </simpleType> <simpleType name="exprType"> <restriction base="string" /> </simpleType> <simpleType name="literalType"> <union memberTypes="string core:exprType"> </union> </simpleType> <simpleType name="screenIdType"> <restriction base="string" /> </simpleType> <simpleType name="formIdType"> <restriction base="string" /> </simpleType> </schema> The Core Architecture of UNSAE 1.51, Architecture diagram ![]() ![]() UNSAE Can Support Stand-alone Application Now.Some modifications have been done for UNSAE 1.5 to support stand-alone applications. This maybe very meaningful in the future. <mvc-config> XSD draft for UNSAE 1.5 We believe that a perfect beginning is necessary for a perfect business. <?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="http://www.uniera.org/unsae/core" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:core="http://www.uniera.org/unsae/core" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.5a"> <element name="mvc-config" type="core:mvc-configType" /> <complexType name="mvc-configType"> <sequence> <element name="bundle" type="core:bundleType" minOccurs="0" maxOccurs="unbounded" /> <element name="script" type="core:scriptType" minOccurs="0" maxOccurs="1" /> <element name="form" type="core:formType" minOccurs="0" maxOccurs="unbounded" /> <element name="screen" type="core:screenType" minOccurs="0" maxOccurs="unbounded" /> <element name="entry" type="core:entryType" minOccurs="1" maxOccurs="unbounded" /> <element name="error" type="core:errorType" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="module" default="/"> <simpleType> <restriction base="string"> <pattern value="/.*" /> </restriction> </simpleType> </attribute> <attribute name="folder" default="/"> <simpleType> <restriction base="string"> <pattern value="/.*" /> </restriction> </simpleType> </attribute> <attribute name="version" type="string" fixed="1.5"/> </complexType> <complexType name="scriptType"> <simpleContent> <extension base="string"> <attribute name="name" type="string" default="" /> <attribute name="compile" type="boolean" /> </extension> </simpleContent> </complexType> <complexType name="bundleType"> <attribute name="file" type="core:fileType" /> <attribute name="locale" type="string" default="" /> </complexType> <complexType name="formType"> <sequence> <element name="script" type="core:scriptType" minOccurs="0" /> </sequence> <attribute name="class" type="core:classType" use="required" /> <attribute name="name" type="core:formIdType" /> <attribute name="eval" type="core:exprType" /> <attribute name="scope" type="core:scopeType" default="request" /> </complexType> <complexType name="screenType"> <sequence> <element name="param" type="core:paramType" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="name" type="core:screenIdType" /> <attribute name="desc" type="core:exprType" /> <attribute name="file" type="core:fileType" use="required" /> </complexType> <complexType name="entryType"> <sequence> <element name="form" type="core:formType" minOccurs="0" /> <element name="script" type="core:scriptType" minOccurs="0"/> <element name="command" type="core:commandType" minOccurs="0" maxOccurs="unbounded"/> <element name="screen" type="core:screenType" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="uri" type="core:uriType" use="required" /> <attribute name="form" type="core:formIdType" use="optional" /> <attribute name="screen" type="core:screenIdType" use="optional" /> <attribute name="error" type="core:screenIdType" use="optional" /> <attribute name="eval" type="core:exprType" use="optional" /> <attribute name="permit" type="string" default="" /> <attribute name="desc" type="core:exprType" /> <attribute name="token" type="boolean" default="false" /> </complexType> <complexType name="commandType"> <sequence> <element name="param" type="core:paramType" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="class" type="core:classType" use="optional" /> <attribute name="scope" type="core:scopeType" default="application" /> <attribute name="method" type="core:exprType" default="execute" /> </complexType> <complexType name="paramType"> <attribute name="name" type="string" use="required" /> <attribute name="value" type="core:exprType" use="optional" /> </complexType> <complexType name="errorType"> <sequence> <element name="script" type="core:scriptType" minOccurs="0" /> <element name="screen" type="core:screenType" minOccurs="0" /> </sequence> <attribute name="class" type="core:classType" use="required" /> <attribute name="screen" type="core:screenIdType" /> </complexType> <simpleType name="scopeType"> <restriction base="string"> <enumeration value="request" /> <enumeration value="session" /> <enumeration value="threadlocal" /> <enumeration value="application" /> </restriction> </simpleType> <simpleType name="uriType"> <restriction base="string" /> </simpleType> <simpleType name="classType"> <restriction base="string" /> </simpleType> <simpleType name="exprType"> <restriction base="string"> <pattern value="javascript:.*" /> <pattern value=".*" /> </restriction> </simpleType> <simpleType name="fileType"> <restriction base="string" /> </simpleType> <simpleType name="screenIdType"> <restriction base="string" /> </simpleType> <simpleType name="formIdType"> <restriction base="string" /> </simpleType> </schema> UNSAE 1.5 Delayed again!We are very sorry to say: Its release time is delayed again due to development reason. Some new features such as scripts are considering to be added in the release. UNSAE Group 2006/8/2 Note: The core config xml's dtd is being modified now to enhance both its readability and functionality. the result xml format will differ greatly from the one in UNSAE 1.3(not released version). Mentions for UNSAE 1.5 (2)
Mentions for UNSAE 1.5
<<Not end>> UNSAE: Plan Changed Again!1.3 is too later to come out! So it's possible a better idea that 1.5 will be the next release instead of 1.3.
UNSAE Group 2006/6/19 ---------------------------- ![]() UNSAE 1.3 Delayed The development of UNSAE 1.3 (the next release package of UNSAE project) is suspended again because of the development for another significant plugin (codename "swlet") for firefox and/or ie. We hope to present these two results as early as possible. Cheer up! folks. "Swlet" subproject is stopped because of some problems about its feasibility. 2006/5/24 Today I got some new result below! Plan of UNSAE changed! Considering the huge span between 1.0 and 2.0 and long time waiting for next release package is painful, a middle version, UNSAE 1.3, will be developped and released before the development of UNSAE 2.0. Features of UNSAE 1.3:
About the features of UNSAE 2.0It is possibly not a good manner to develop 2.0 hurriedly, because 2.0 is considered very important to www.uniera.org and it should/must support most following features: 1, Modeling and development tools as eclipse plug-ins.
2, Model Driven Architecture supports. 3, Services-Oriented Architecture supports. 4, Distributed transaction supports. 5, Clustered object cache. 6, Work flow support. 7, General Report supports. To achieve these goals, the following requirements must/should be met firstly: 1, Refine and clean the 1.0 package. 2, Sophisticated transaction supports. 3, SQL statements isolation. 4, A exhaustive/perfect demo is necessary. 5, Micro containers(for DAOs and cached objects). 6, JSTL extension? 7, Java 5.0 migration? 8, Auto/manual performance tuning? 9, Dynamic code generation? And amounts of basic libraries must be constructed before all above things to keep our source codes independent. Best regards! www.uniera.org 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
My Words about UNSAE 1.0To the production:
mvc-config.dtd<!-- About core-config.xmlAn example for core-config.xml. The defferences from UNSAE 1.0:
<?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 PlanGoals in order:
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).
uniera.org |
|
|