“我們能在幾分鐘內(nèi)設(shè)計(jì)出專業(yè)的個(gè)性化應(yīng)用軟件”,3UCS的工程師如是說(shuō)。
事實(shí)上這一點(diǎn)兒也不夸張,您也可以做到,并且可以做得更好,隨心所欲的定制您的CRM、OA、ERP、企業(yè)信息化、呼叫中心業(yè)務(wù)等等各類應(yīng)用,因?yàn)檫@得益于3UCS發(fā)布的BizXML工具,憑借此自動(dòng)化工具您可以之下花不到一秒鐘的時(shí)間生成一個(gè)應(yīng)用界面,根據(jù)您的需要自動(dòng)生成一組頁(yè)面后您還可以根據(jù)自己的應(yīng)用需求進(jìn)一步的個(gè)性化您的業(yè)務(wù)邏輯和流程,以及各種多語(yǔ)言的設(shè)計(jì),比如A用戶使用中文、B用戶使用英文、C用戶使用德文之類,這些事情最快就可以在幾分鐘內(nèi)完成。
什么是BizXML工具了?它就是遵循BizXML業(yè)務(wù)應(yīng)用規(guī)范的一個(gè)工具軟件,根據(jù)您自己的業(yè)務(wù)數(shù)據(jù)庫(kù)結(jié)構(gòu)自動(dòng)生成BizXML代碼,同時(shí)提供相關(guān)個(gè)性化參數(shù)設(shè)置并提供在線預(yù)覽,方便您調(diào)整頁(yè)面布局、數(shù)據(jù)間關(guān)系等實(shí)用性手段,生成的標(biāo)準(zhǔn)BizXML代碼可以立即被BizXML業(yè)務(wù)平臺(tái)解析執(zhí)行,預(yù)覽顯示的界面直接可以操作進(jìn)行數(shù)據(jù)更新等,執(zhí)行效果完全與實(shí)際應(yīng)用相同,同時(shí)也支持后續(xù)的邏輯流程控制修改調(diào)整。
下面就簡(jiǎn)單了解下BizXML Tool工具,如下圖所示,該工具與數(shù)據(jù)庫(kù)管理相結(jié)合,根據(jù)數(shù)據(jù)庫(kù)表結(jié)構(gòu)信息工作,不單單支持MySQL,其他數(shù)據(jù)庫(kù)相類似,提供預(yù)覽方便工程師隨時(shí)直觀的看到生成的應(yīng)用界面,根據(jù)需要調(diào)整相應(yīng)的字段參數(shù)來(lái)調(diào)整相關(guān)表的關(guān)系字段與內(nèi)容,調(diào)整完畢后可以直接輸出保存應(yīng)用界面,同時(shí)可以生成語(yǔ)言包,以方便多語(yǔ)言支持,工程師只需修改語(yǔ)言包的內(nèi)容為所需語(yǔ)言版本,用戶界面將自動(dòng)呈現(xiàn)諸如簡(jiǎn)體中文、英文、法文等多語(yǔ)言支持。
該工具提供自動(dòng)化識(shí)別結(jié)構(gòu)信息外,還提供了豐富的界面生成參數(shù)設(shè)置,例如擬生成的應(yīng)用界面寬度、表字段長(zhǎng)度與控件寬度的系數(shù)值、控件等寬設(shè)置、表間關(guān)系字段等等。
您應(yīng)該注意到BizXML Tool工具實(shí)際上也是通過(guò)BizXML生成的一個(gè)應(yīng)用,這也更進(jìn)一步表明BizXML業(yè)務(wù)應(yīng)用系統(tǒng)的智能性和功能的強(qiáng)大。
下面的界面是BizXML Tool自動(dòng)生成的界面預(yù)覽示例
只需設(shè)置等寬度參數(shù)值系統(tǒng)就自動(dòng)生成類似下圖的等寬度的應(yīng)用界面:
應(yīng)用界面代碼
<WndTap Name="cases" Text="cases"> <xi:include href="cases_lan.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> <Ctrls> <GroupBox Name="GBcases" id="cases" Text="cases" Size="100,100"><Ctrls> <Label Name="lb_case_type" Size="60,20" Text="case_type" Align="Right"/> <TextBox Name="case_type" Size="30,20" ToolTip="ttp_case_type"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_case_status" Size="60,20" Text="case_status" Align="Right"/> <TextBox Name="case_status" Size="30,20" ToolTip="ttp_case_status"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_case_priority" Size="60,20" Text="case_priority" Align="Right"/> <TextBox Name="case_priority" Size="30,20" ToolTip="ttp_case_priority"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_case_title" Size="60,20" Text="case_title" Align="Right"/> <TextBox Name="case_title" Size="250,20" ToolTip="ttp_case_title"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <BR AutoHeight="1"/><Label Name="lb_case_desc" Size="60,20" Text="case_desc" Align="Right"/> <TextBox Name="case_desc" Size="640,20" ToolTip="ttp_case_desc"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <BR AutoHeight="1"/><Label Name="lb_case_sln" Size="60,20" Text="case_sln" Align="Right"/> <TextBox Name="case_sln" Size="640,20" ToolTip="ttp_case_sln"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <BR AutoHeight="1"/><Label Name="lb_case_remark" Size="60,20" Text="case_remark" Align="Right"/> <TextBox Name="case_remark" Size="640,20" ToolTip="ttp_case_remark"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <BR AutoHeight="1"/><Label Name="lb_contact_id" Size="60,20" Text="contact_id" Align="Right"/> <TextBox Name="contact_id" Size="55,20" ToolTip="ttp_contact_id"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_entered_at" Size="60,20" Text="entered_at" Align="Right"/> <TextBox Name="entered_at" Size="50,20" ToolTip="ttp_entered_at"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_entered_by" Size="60,20" Text="entered_by" Align="Right"/> <TextBox Name="entered_by" Size="55,20" ToolTip="ttp_entered_by"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_dep_resp" Size="60,20" Text="dep_resp" Align="Right"/> <TextBox Name="dep_resp" Size="55,20" ToolTip="ttp_dep_resp"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_owned_at" Size="60,20" Text="owned_at" Align="Right"/> <TextBox Name="owned_at" Size="50,20" ToolTip="ttp_owned_at"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_owned_by" Size="60,20" Text="owned_by" Align="Right"/> <TextBox Name="owned_by" Size="55,20" ToolTip="ttp_owned_by"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <BR AutoHeight="1"/><Label Name="lb_closed_at" Size="60,20" Text="closed_at" Align="Right"/> <TextBox Name="closed_at" Size="50,20" ToolTip="ttp_closed_at"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_closed_by" Size="60,20" Text="closed_by" Align="Right"/> <TextBox Name="closed_by" Size="55,20" ToolTip="ttp_closed_by"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <Label Name="lb_case_id" Size="60,20" Text="case_id" Align="Right"/> <TextBox Name="case_id" Size="55,20" ToolTip="ttp_case_id"> <OnEnChange></OnEnChange> <onEnterKey></onEnterKey> </TextBox> <BR AutoHeight="1"/><ListCtrl Name="casesLst" ToolTip="ttp_cases" Size="520,312" PageSize="10" loadedclick="0" Heading="case_type,30;case_status,30;case_priority,30;case_title,250;case_desc,640;case_sln,640;case_remark,640;contact_id,55;entered_at,50;entered_by,55;dep_resp,55;owned_at,50;owned_by,55;closed_at,50;closed_by,55;case_id,55;"> <DbDetails fcsm="1"><DbTable>i3uxml.cases</DbTable><Index>contact_id='%{casesLst[contact_id]}' and case_id='%{casesLst[case_id]}'</Index><Data>case_type,case_status,case_priority,case_title,case_desc,case_sln,case_remark,contact_id,entered_at,entered_by,dep_resp,owned_at,owned_by,closed_at,closed_by,case_id</Data></DbDetails></ListCtrl> <TAB/><GroupBox Name="GBOPcases" Text="operation" Size="100,100"><Ctrls> <Button Name="insertcases" Size="50,20" Text="create" ToolTip="ttp_insertcases"> <OnClick> <DbDetails fcsm="1"><DbTable>i3uxml.cases</DbTable><Data>case_type,case_status,case_priority,case_title,case_desc,case_sln,case_remark,contact_id,entered_at,entered_by,dep_resp,owned_at,owned_by,closed_at,closed_by,case_id</Data><queryFormat>insert into %{table} %{data}</queryFormat></DbDetails> <submit namelist="DbDetails"/><submit next="searchcases" function="click"/> </OnClick> </Button><TAB/> <Button Name="modifycases" Size="50,20" Text="modify" ToolTip="ttp_modifycases"> <OnClick> <DbDetails fcsm="1"><DbTable>i3uxml.cases</DbTable><Data>case_type,case_status,case_priority,case_title,case_desc,case_sln,case_remark,contact_id,entered_at,entered_by,dep_resp,owned_at,owned_by,closed_at,closed_by,case_id</Data><Where>contact_id='%{casesLst[contact_id]}' and case_id='%{casesLst[case_id]}'</Where><queryFormat>update %{table} set %{data} where %{where}</queryFormat></DbDetails> <submit namelist="DbDetails"/><submit next="searchcases" function="click"/> </OnClick> </Button><BR/> <Button Name="deletecases" Size="50,20" Text="delete" ToolTip="ttp_deletecases"> <OnClick> <DbDetails fcsm="1"><DbTable>i3uxml.cases</DbTable><Where>contact_id='%{casesLst[contact_id]}' and case_id='%{casesLst[case_id]}'</Where><queryFormat>delete from %{table} where %{where}</queryFormat></DbDetails> <submit namelist="DbDetails"/><submit next="searchcases" function="click"/> </OnClick> </Button><TAB/> <Button Name="searchcases" Size="50,20" Text="refresh" ToolTip="ttp_refreshcases"> <OnClick><submit next="casesLst"/> </OnClick> </Button> <BR/><Button Name="FPcasesLst" Size="40,20" Text="firstpage" OnClick="(casesLst)GetPage(First)"></Button> <Button Name="PREcasesLst" Size="40,20" Text="prepage" OnClick="(casesLst)GetPage(Pre)"></Button> <Button Name="NPcasesLst" Size="40,20" Text="nextpage" OnClick="(casesLst)GetPage(Next)"></Button> </Ctrls></GroupBox> </Ctrls></GroupBox> </Ctrls> <OnChanged></OnChanged> <OnActivate></OnActivate> </WndTap> 語(yǔ)言包示例(將value值改成相應(yīng)語(yǔ)言的文字即可,ttp_前綴的為tooltip顯示文字): <Language name="cases"> <Lang name="cases" value="cases"/> <Lang name="case_title" value=""/> <Lang name="ttp_case_title" value=""/> <Lang name="contact_id" value=""/> <Lang name="ttp_contact_id" value=""/> <Lang name="case_type" value=""/> <Lang name="ttp_case_type" value=""/> <Lang name="case_status" value=""/> <Lang name="ttp_case_status" value=""/> <Lang name="case_priority" value=""/> <Lang name="ttp_case_priority" value=""/> <Lang name="dep_resp" value=""/> <Lang name="ttp_dep_resp" value="respsibility department"/> <Lang name="case_desc" value=""/> <Lang name="ttp_case_desc" value=""/> <Lang name="case_sln" value=""/> <Lang name="ttp_case_sln" value=""/> <Lang name="case_remark" value=""/> <Lang name="ttp_case_remark" value=""/> <Lang name="entered_at" value=""/> <Lang name="ttp_entered_at" value=""/> <Lang name="entered_by" value=""/> <Lang name="ttp_entered_by" value=""/> <Lang name="owned_at" value=""/> <Lang name="ttp_owned_at" value=""/> <Lang name="owned_by" value=""/> <Lang name="ttp_owned_by" value=""/> <Lang name="closed_at" value=""/> <Lang name="ttp_closed_at" value=""/> <Lang name="closed_by" value=""/> <Lang name="ttp_closed_by" value=""/> <Lang name="case_id" value=""/> <Lang name="ttp_case_id" value=""/> <Lang name="ttp_operationcases" value="操作"/> <Lang name="ttp_createcases" value="新增"/> <Lang name="ttp_modifycases" value="修改"/> <Lang name="ttp_deletecases" value="刪除"/> <Lang name="ttp_refreshcases" value="刷新"/> <Lang name="operation" value="操作"/> <Lang name="create" value="新增"/> <Lang name="modify" value="修改"/> <Lang name="delete" value="刪除"/> <Lang name="refresh" value="刷新"/> <Lang name="firstpage" value="首頁(yè)"/> <Lang name="prepage" value="上頁(yè)"/> <Lang name="nextpage" value="下頁(yè)"/> </Language> |