SlideShare a Scribd company logo
1 of 4
Download to read offline
关于vision4health 
白皮书 
发现Uniface:一个Java 开发者的经验 
从Java转移到Uniface可以看作是一个挑战, 
但对于Georges Herzet而言这是他职业生涯明 
智的一步,是一个正确的方向 
多样化的IT背景 
如果你正在寻找一个可以基于第一手经验比较不同开发环境的人,那么 
Georges Herzet是比大多数人更好的人选。他拥有广泛而多样的软件开 
发的背景,包括相当多的Java编程经验:他曾为iSeries 和Windows开 
发java应用程序。他有SYNON工具/代码生成器,3GLs包括C++,以及 
WebSphere环境中的J2EE的经验。 
当乔治开始他的职业生涯时,他曾是制造工厂的一名C语言开发人员。 
后来他去了一家广泛使用Java的软件工厂。在那时,Java是越来越受欢 
迎,他曾参与过多个GUI项目。在加入vision4health之前,他曾用J2EE 
开发侧重于分析的会计web应用程序并且他率领一个小的开发团队。 
2010年Georges加入了他目前的雇主,Uniface应用合作伙伴 
vision4health,那是他才开始使用Uniface。“我很惊讶地发现我们的 
Uniface应用程序已经成功地部署和维持了近20年。在IT世界中,产品往 
往只有一个短暂的使用期,但是在vision4health我们维持了我们的产品 
MOLIS,无论当前和使其现代化,我们只需要将其移动到Uniface的下一 
个版本- 它便可以不断地可靠地工作。” 
一家专业的实验室诊断软件公司,vision4health在引领潮流的实 
验室诊断应用市场上树立了新的标准。该中心是一个多学科的系 
统概念,包括各种机构之间的联系,如专科实验室,医院,全科 
医生和患者。从实验室医学,微生物学和输血医学病理支持诊断 
学科的每一个工作序列。 
Uniface快速提高生产力 
当他加入vision4health之前,Georges并没有任何Uniface或MOLIS的 
产品知识。他被聘用,他描述道,因为他拥有通用的IT知识,并愿意学 
习其他新的技术。在他看来,他对vision4health的技术感兴趣。 
通过一些准备,他收到同事的一些非正式培训。vision4health大约有 
10 Uniface的开发人员 - 花一些时间阅读Uniface的在线文档。“对于有 
Java和其他开发工具背景的人员,Uniface简单易学。我当然不是我的头 
撞到墙壁上然后很好的迅速把握这一快速的开发环境。” 
他和他老板同意让Georges从开展一些小的编程项目开始熟悉Uniface。 
这将让他在做有用工作的同时有机会了解公司及其产品。Georges最初 
工作的任务是在系统旧的部分更新界面布局。事实上,他从规模较小的 
项目开始入门。 
在Uniface的使用中,他发现他完成这些任务的同时立刻也提高了工作 
效率。他发现Java和Uniface有非常密切的的相似之处。例如,在GUI中 
的Java事件和Uniface中的触发器涉及到相同的概念。渐渐地,他进展到 
更复杂的工作,如需要时同事会亲自做指导。在一个较短的时间内,他 
能够承担更复杂的Uniface工作,一年后,他便可以独立地运作自己的 
项目。 
三年后,他便可以管理项目的整个生命周期,增加新的功能和形式,在 
客户端安装或更新的产品。“我们有很多的网站 - 200客户 - 他们都略有 
不同的方式使用我们的产品。” 
也许相对于学习Uniface,需要了解业务方面的应用是一个更大的挑 
战。“在医疗领域,我们有一个非常特定的业务环境,包含了许多临床 
内容,你必须慢慢学习,这也是我的经理安排我做的。业务逻辑是一份 
非常复杂的工作,我仍然在学习。” 
1 生产率 
2 可靠性 
3 安全性 
4 企业级可伸缩性 
5 应用的长期性 
6 技术独立性 
7 集成和复用 
8 合作成效 
9 用户社区 
10 首选合作伙伴计划 
Uniface的亮点 
企业应用
为何很容易从其他环境切换至UNIFACE 
从一个Java程序员的角度来看,学习Uniface是非常简单的,因为 
Uniface和Java很多概念是通用的。“当为Windows环境建立表单, 
像关闭一个窗口这样的任务是非常相似 - 事件以同样的方式工作。在 
Uniface中识别到像这样的熟悉概念使得容易在两个系统间融会贯通。我 
发现,我在以前工作中使用的工具知识在建Uniface应用时很容易应用到 
类似的概念中。” 
Georges补充道:“以前使用过的其他语言和环境有一定的帮助,事实 
上,并不是一直很容易分辨知识从哪儿来。有些概念是通用的跨多样性 
环境的。例如,Java程序员都知道类,这类似的概念也存在于Uniface 
中。 
Uniface开发环境的优势 
虽然Uniface和他早期工作时的开发环境之间有相似之处,但Georges还 
是发现,Uniface有着许多的优势。 
技术独立: 
这样的优势之一是真正的技术独立。MOLIS的用户组织倾向于将它在客 
户端/服务器环境中运行- 主要是临床实验室。这意味着代码要在Unix和 
Windows之间分离,但是这在Uniface中没有问题,Georges说道,“ 
您不必担心平台之间的差异,这是非常棒的。 Java也被认为是独立的平 
台,但在实践中它更复杂,并且你会得到一些不希望看到的结果,例如 
把额外的时间和精力花在测试和验证上。使用Uniface,你真的可以在两 
个平台上运行相同的代码,即使其中有GUI而其他没有。” 
另一个令Uniface开发者满意的方面是,该技术是随着技术的发展趋势而 
不断更新的。你不知道IT业在未来几年会如何,现在使用的许多工具会 
消失,但Uniface自1984年以来就一直在市场上,并且它仍然存在并且 
是不断发展的。Uniface始终紧跟最新的技术,所以,作为回报,这可以 
保持你的应用一直是最先进的,例如,在货币方面,不需要重写代码。 
当然,这也成为吸引用户组织的吸引力,特别是像vision4health这样的 
软件机构,Georges指出。他们可以在UNIFACE中写应用程序,这让他 
们在知识方面也很安全,Compuware公司将负责更新技术平台。这意 
味着他们可以专注于使应用程序尽可能完整的和先进的,快速响应业务 
的改变。 
生产率: 
另一个主要优点是Uniface的生产率。“用Java写代码需要花费很多的时 
间- 这仅仅是因为你必须写更多的代码。有一次我遇到一个问题,因为我 
已经用Java编写了一个GUI,当我把它展示给我的经理看时他说,“这 
很好,但你花费的时间比我预期的多很多!”这是因为在你得到正确的 
结果之前,你需要花费很多的时间。在Java中你需要在开发的过程中做 
很多的尝试。但在Uniface中你不会有那种失望,因为事情会比较顺利, 
而且最后你都能得到你想要的结果。只需几行代码,你可以创建,例 
如,用户的Windows界面的外观和感觉,”Georges说道。 
他解释说,在Java中这是非常麻烦的,因为你有这么多的代码,或者 
你必须选择合适的开源框架从而让您的应用程序可以工作,这与在 
Uniface中只是创建业务逻辑代码是十分相对的。“少了很多代码但却 
得到了相同的结果,这是一个巨大的利益,这也使得我的经理非常高 
兴!”Georges总结道。 
生产率的好处适用于维护和开发。“在Java中维护始终是一个挑战,因 
为它不仅取决于你的知识,而且取决于编写你类的人员的技能。当你不 
得不做维护时,那将是要负责一个巨大的代码量。Uniface的代码更紧 
凑,也更容易预测,在那里你会找到一个特定的位的逻辑。Java有着广 
泛的编程风格,所以如果你要修复的错误或提出的增强,你必须花时间 
寻找一块你需要更改的逻辑。这通常有很多的可能性,特别是如果涉及 
好几个开发人员。使用Uniface,你会更好的知道从哪里开始,从而完全 
可以缩短维护周期。” 
白皮书 
uniface.com 
“Java被认为是独立的平台的,但在实践中,它非常 
复杂。而Uniface的,缺真的可以在不同的平台上运 
行相同的代码。” 
GeorgesHerzet, SoftwareDeveloper
“Uniface让你使用很少的代码, 
却得到相同的结果,这是一个巨 
大的利益。” 
基于开发生产力的研究,参考PetPlaza应用1 
代码行数 
14,273 L.O.C. 
2,000 
0 
14,000 
1,958 L.O.C. 
Java 
可靠性: 
Uniface的代码质量是标准化的,这也是相对于Java的一个优势。Java的 
质量是非常依赖于程序员的专业知识水平,Georges说:“你必须要知 
道类,否则,你可能最后要面临改变很多东西。因此,一个Java项目的 
质量依赖于整个团队中真正了解类设计的人员,这是一个很大的不足, 
能对项目产生重大的影响。” 
另一方面,Uniface由于继承了模型驱动的方式,使用模板和较少依赖 
于编码,这使得开发人员能够专注于业务逻辑,减少了问题的产生。此 
外,Uniface开发的结构性质意味着执行良好的编程习惯。 
敏捷环境中的工作满意度 
当你开始使用Uniface,工作的重点从复杂的代码编程快速转移到为用户 
提供能够满足最终用户的解决方案,Georges发现:“这个适合我,因 
为,虽然年轻的开发人员可能会对最新的开发工具感到兴奋,围绕着他 
们大肆宣传,但当看到这些开发工具和语言的兴奋消退后,客户更满意 
于你可以在很短的时间给到他们想要的。” 
在Uniface中那种满足感很容易找到,因为它本身的敏捷方法的发展。“ 
例如,你可以在几个小时内展示屏幕外观的变化,甚至在一天之内一个 
工作原型的改变。通常用户很难描述他们想要的东西,但是比较容易展 
现给他们一个快速的原型,Uniface不需要太多的时间便可以做到。使用 
Java,那就要花很多时间,因为你将不得不写’管道’去运行图形界面 
和业务逻辑,所以该项目需要在另一个层面上,它变得更加难以管理客 
户的期望。” 
由于应用程序体系结构的工作方式Uniface的强制执行业务规则的指引, 
很容易迅速做出改变。乔治解释道:“在Java中没有任何规则可循,任 
何地方,一个不合格的架构师,你的代码可以是所有的地方。在Uniface 
中,即使有坏的开发实践,那里总有强制执行代码所在地的指导。“以 
敏捷的方式工作是很重要的,,你花一点时间搜索,便可以增加新的功 
能。 
1 开发生产力研究:Uniface可以在短的时间内,用更少的代码递交3GL的应用 
白皮书 
uniface.com
开发人员和雇主双方受益的职业生涯 
就像其他已经接受过Uniface交叉培训的开发人员一样,Georges相信雇 
主倾向于高估了需要漫长Uniface的经验。“对于像我现在做的工作,我 
不认为你需要聘请具有多年Uniface经验的开发人员。你需要的是一些具 
有强大IT背景的,能够非常灵活性的将知识和技能应用到不同的环境, 
非常有兴趣应对业务挑战,而不仅仅是技术的人。幸运的是,我的经理 
赞同我并给我这项工作!现在,我将我所有的java及其他经验应用在我 
现在做的工作上。” 
三年过去了,Georges很高兴自己决定转移到vision4health和 
Uniface。“我很享受使用Uniface,了解我们的业务和我们的客户所面 
临的挑战这两种工作。IT行业工作是需要适应改变的,有了这种心态, 
你可以使用任何工具。” 
全球社区的一部分 
Georges最近已开始通过Uniface.info网站直接加入了Uniface国际社 
区用户,例如,代表其雇主参观在阿姆斯特丹的实验室。“能够见到 
Uniface的团队是一个非常棒的机会,发现Uniface的发展趋势甚至尝 
试一下。我期待着更多地参与其中,因为我现在是vision4health负责 
Uniface的主要联络者。” 
一个Java程序员的Uniface愿望清单 
• “代码辅助”功能就像Eclipse或Java - 建议如何开展特定的功能 
»» 从产品经理的想法:这是我们听到的针对Uniface10的最常见的 
要求之一,作为结果,我们将包括这一重要的功能。 
• “重构” - 如果你需要添加一个参数,该系统可以发现所有的问 
题中的函数调用,并自动做出改变 
»» 从产品经理的想法:在Uniface10中,新的IDE会有能力现 
这种功能。 
• 简单易用,轻量级的版本控制 
»» 从产品经理的想法:这是一个巨大的话题! 
最终,有这么多选择的版本控制和开发商店总是有自己独特 
的方式去管理源。Uniface10会给开发者带动项目发展的 
能力,跨多个项目分享Uniface的部件。另外Uniface10 
将鼓励(但不强制)开发等技术,就像沙盒 
这让开发人员更加便于控制。 
• 多种国家语言支持HTML小部件/浏览器 
»» 从产品经理的想法:HTML小部件是一个相当新的控件,因而我 
们 
会不断使其完善,我们将加强其功能。 
白皮书 
uniface.com 
• 在电缆生产厂负责C语言编写的用于工业过程控制的内部IT 
系统项目(KabelwerkEupenAG) 
• 使用SYNON(基于IBMiSeries的开发工具)开发, 
针对销售,会计和过程控制应用 
• Java开发,主要是针对客户端/服务器环境下的GUI 
(也是iSeries系列) 
• 管理一个Java开发人员的小团队,管理一个使用J2EE的基于 
Web的会计项目。 
Georges Herzet的IT背景 
1993年取得列日大学(比利时)计算机科学硕士学位 
后,Georges 的工作经验包括: 
Uniface是在生产力、可靠性方面业界首屈一指的开发工具,可提供为企业级可伸缩性业务打造最重要应用的快速模块开发环境。 
更多详情请参考: www.uniface.com 
Uniface B.V. Hoogoorddreef 60, 1101 BE Amsterdam, The Netherlands 
© 2014 Uniface B.V. www.uniface.com/legal.html

More Related Content

Viewers also liked

Listado de jurados para los Trabajos de Grado del programa para el semestre 2...
Listado de jurados para los Trabajos de Grado del programa para el semestre 2...Listado de jurados para los Trabajos de Grado del programa para el semestre 2...
Listado de jurados para los Trabajos de Grado del programa para el semestre 2...Jan Bacca
 
The many ways we learn
The many ways we learn The many ways we learn
The many ways we learn pncacademy
 
Marc quintanasampolelstords
Marc quintanasampolelstordsMarc quintanasampolelstords
Marc quintanasampolelstordstercermercadal
 
Presentacion popu 2
Presentacion popu 2Presentacion popu 2
Presentacion popu 2Educrea
 
01 idea table3.1(up)
01 idea table3.1(up)01 idea table3.1(up)
01 idea table3.1(up)umisuzume
 
Presentacion
PresentacionPresentacion
Presentacionsico75
 
U4 grammar
U4 grammarU4 grammar
U4 grammarlmyaaa
 
Human Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open WestHuman Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open WestJeremy Curcio
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujoxiomara
 
R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)
R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)
R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)Maintenance Connection
 

Viewers also liked (20)

IT news
IT newsIT news
IT news
 
Listado de jurados para los Trabajos de Grado del programa para el semestre 2...
Listado de jurados para los Trabajos de Grado del programa para el semestre 2...Listado de jurados para los Trabajos de Grado del programa para el semestre 2...
Listado de jurados para los Trabajos de Grado del programa para el semestre 2...
 
Canitas alegres
Canitas alegresCanitas alegres
Canitas alegres
 
The many ways we learn
The many ways we learn The many ways we learn
The many ways we learn
 
Marc quintanasampolelstords
Marc quintanasampolelstordsMarc quintanasampolelstords
Marc quintanasampolelstords
 
Presentacion popu 2
Presentacion popu 2Presentacion popu 2
Presentacion popu 2
 
Pantalla Flexible
Pantalla FlexiblePantalla Flexible
Pantalla Flexible
 
Informe Empresa y Soc
Informe Empresa y SocInforme Empresa y Soc
Informe Empresa y Soc
 
01 idea table3.1(up)
01 idea table3.1(up)01 idea table3.1(up)
01 idea table3.1(up)
 
Lengua eso
Lengua esoLengua eso
Lengua eso
 
Presentacion
PresentacionPresentacion
Presentacion
 
คำชี้แจง
คำชี้แจงคำชี้แจง
คำชี้แจง
 
U4 grammar
U4 grammarU4 grammar
U4 grammar
 
ppt lingkaran
ppt lingkaranppt lingkaran
ppt lingkaran
 
Human Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open WestHuman Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open West
 
Electronica
ElectronicaElectronica
Electronica
 
Servidor MySQL
Servidor MySQLServidor MySQL
Servidor MySQL
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
No_valid
No_validNo_valid
No_valid
 
R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)
R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)
R10 - Advanced Reporting: Report Setup and Summary Reports (MCU)
 

Similar to Uniface和JAVA开发的比较

software development guide map
software development guide mapsoftware development guide map
software development guide mapbiaowei zhuang
 
和.Net开发比较的白皮书
和.Net开发比较的白皮书和.Net开发比较的白皮书
和.Net开发比较的白皮书Helen Xu
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundryHong Cai
 
Java Api Design
Java Api DesignJava Api Design
Java Api Designyiditushe
 
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架Justin Lin
 
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)My own sweet home!
 
Java 推荐读物
Java 推荐读物Java 推荐读物
Java 推荐读物yiditushe
 
Ruby on rails部署
Ruby on rails部署Ruby on rails部署
Ruby on rails部署Deng Peng
 
给学习J2 Ee的朋友一些值得研究的开源项目
给学习J2 Ee的朋友一些值得研究的开源项目给学习J2 Ee的朋友一些值得研究的开源项目
给学习J2 Ee的朋友一些值得研究的开源项目yiditushe
 
Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Justin Lin
 
Ext Js开发指导
Ext Js开发指导Ext Js开发指导
Ext Js开发指导clong365
 
[圣思园][Java SE]000 讲师张龙简介
[圣思园][Java SE]000 讲师张龙简介[圣思园][Java SE]000 讲师张龙简介
[圣思园][Java SE]000 讲师张龙简介ArBing Xie
 
Rubyonrails(Chinese)
Rubyonrails(Chinese)Rubyonrails(Chinese)
Rubyonrails(Chinese)heisda
 
20141030 ntustme computer_programmingandbeyond_share
20141030 ntustme computer_programmingandbeyond_share20141030 ntustme computer_programmingandbeyond_share
20141030 ntustme computer_programmingandbeyond_shareTing-Shuo Yo
 
打開窗,讓大象跨進來 - Microsoft HDInsight
打開窗,讓大象跨進來 - Microsoft HDInsight打開窗,讓大象跨進來 - Microsoft HDInsight
打開窗,讓大象跨進來 - Microsoft HDInsightKuo-Chun Su
 
從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby建興 王
 

Similar to Uniface和JAVA开发的比较 (20)

software development guide map
software development guide mapsoftware development guide map
software development guide map
 
和.Net开发比较的白皮书
和.Net开发比较的白皮书和.Net开发比较的白皮书
和.Net开发比较的白皮书
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
 
Java Api Design
Java Api DesignJava Api Design
Java Api Design
 
SCJP ch01
SCJP ch01SCJP ch01
SCJP ch01
 
Jni文档
Jni文档Jni文档
Jni文档
 
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
 
Android工作坊
Android工作坊Android工作坊
Android工作坊
 
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)開放原始碼 Ch2.3   app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
 
Java 推荐读物
Java 推荐读物Java 推荐读物
Java 推荐读物
 
Ruby on rails部署
Ruby on rails部署Ruby on rails部署
Ruby on rails部署
 
给学习J2 Ee的朋友一些值得研究的开源项目
给学习J2 Ee的朋友一些值得研究的开源项目给学习J2 Ee的朋友一些值得研究的开源项目
给学习J2 Ee的朋友一些值得研究的开源项目
 
Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論
 
Ext Js开发指导
Ext Js开发指导Ext Js开发指导
Ext Js开发指导
 
[圣思园][Java SE]000 讲师张龙简介
[圣思园][Java SE]000 讲师张龙简介[圣思园][Java SE]000 讲师张龙简介
[圣思园][Java SE]000 讲师张龙简介
 
Rubyonrails(Chinese)
Rubyonrails(Chinese)Rubyonrails(Chinese)
Rubyonrails(Chinese)
 
20141030 ntustme computer_programmingandbeyond_share
20141030 ntustme computer_programmingandbeyond_share20141030 ntustme computer_programmingandbeyond_share
20141030 ntustme computer_programmingandbeyond_share
 
Go
GoGo
Go
 
打開窗,讓大象跨進來 - Microsoft HDInsight
打開窗,讓大象跨進來 - Microsoft HDInsight打開窗,讓大象跨進來 - Microsoft HDInsight
打開窗,讓大象跨進來 - Microsoft HDInsight
 
從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby
 

Uniface和JAVA开发的比较

  • 1. 关于vision4health 白皮书 发现Uniface:一个Java 开发者的经验 从Java转移到Uniface可以看作是一个挑战, 但对于Georges Herzet而言这是他职业生涯明 智的一步,是一个正确的方向 多样化的IT背景 如果你正在寻找一个可以基于第一手经验比较不同开发环境的人,那么 Georges Herzet是比大多数人更好的人选。他拥有广泛而多样的软件开 发的背景,包括相当多的Java编程经验:他曾为iSeries 和Windows开 发java应用程序。他有SYNON工具/代码生成器,3GLs包括C++,以及 WebSphere环境中的J2EE的经验。 当乔治开始他的职业生涯时,他曾是制造工厂的一名C语言开发人员。 后来他去了一家广泛使用Java的软件工厂。在那时,Java是越来越受欢 迎,他曾参与过多个GUI项目。在加入vision4health之前,他曾用J2EE 开发侧重于分析的会计web应用程序并且他率领一个小的开发团队。 2010年Georges加入了他目前的雇主,Uniface应用合作伙伴 vision4health,那是他才开始使用Uniface。“我很惊讶地发现我们的 Uniface应用程序已经成功地部署和维持了近20年。在IT世界中,产品往 往只有一个短暂的使用期,但是在vision4health我们维持了我们的产品 MOLIS,无论当前和使其现代化,我们只需要将其移动到Uniface的下一 个版本- 它便可以不断地可靠地工作。” 一家专业的实验室诊断软件公司,vision4health在引领潮流的实 验室诊断应用市场上树立了新的标准。该中心是一个多学科的系 统概念,包括各种机构之间的联系,如专科实验室,医院,全科 医生和患者。从实验室医学,微生物学和输血医学病理支持诊断 学科的每一个工作序列。 Uniface快速提高生产力 当他加入vision4health之前,Georges并没有任何Uniface或MOLIS的 产品知识。他被聘用,他描述道,因为他拥有通用的IT知识,并愿意学 习其他新的技术。在他看来,他对vision4health的技术感兴趣。 通过一些准备,他收到同事的一些非正式培训。vision4health大约有 10 Uniface的开发人员 - 花一些时间阅读Uniface的在线文档。“对于有 Java和其他开发工具背景的人员,Uniface简单易学。我当然不是我的头 撞到墙壁上然后很好的迅速把握这一快速的开发环境。” 他和他老板同意让Georges从开展一些小的编程项目开始熟悉Uniface。 这将让他在做有用工作的同时有机会了解公司及其产品。Georges最初 工作的任务是在系统旧的部分更新界面布局。事实上,他从规模较小的 项目开始入门。 在Uniface的使用中,他发现他完成这些任务的同时立刻也提高了工作 效率。他发现Java和Uniface有非常密切的的相似之处。例如,在GUI中 的Java事件和Uniface中的触发器涉及到相同的概念。渐渐地,他进展到 更复杂的工作,如需要时同事会亲自做指导。在一个较短的时间内,他 能够承担更复杂的Uniface工作,一年后,他便可以独立地运作自己的 项目。 三年后,他便可以管理项目的整个生命周期,增加新的功能和形式,在 客户端安装或更新的产品。“我们有很多的网站 - 200客户 - 他们都略有 不同的方式使用我们的产品。” 也许相对于学习Uniface,需要了解业务方面的应用是一个更大的挑 战。“在医疗领域,我们有一个非常特定的业务环境,包含了许多临床 内容,你必须慢慢学习,这也是我的经理安排我做的。业务逻辑是一份 非常复杂的工作,我仍然在学习。” 1 生产率 2 可靠性 3 安全性 4 企业级可伸缩性 5 应用的长期性 6 技术独立性 7 集成和复用 8 合作成效 9 用户社区 10 首选合作伙伴计划 Uniface的亮点 企业应用
  • 2. 为何很容易从其他环境切换至UNIFACE 从一个Java程序员的角度来看,学习Uniface是非常简单的,因为 Uniface和Java很多概念是通用的。“当为Windows环境建立表单, 像关闭一个窗口这样的任务是非常相似 - 事件以同样的方式工作。在 Uniface中识别到像这样的熟悉概念使得容易在两个系统间融会贯通。我 发现,我在以前工作中使用的工具知识在建Uniface应用时很容易应用到 类似的概念中。” Georges补充道:“以前使用过的其他语言和环境有一定的帮助,事实 上,并不是一直很容易分辨知识从哪儿来。有些概念是通用的跨多样性 环境的。例如,Java程序员都知道类,这类似的概念也存在于Uniface 中。 Uniface开发环境的优势 虽然Uniface和他早期工作时的开发环境之间有相似之处,但Georges还 是发现,Uniface有着许多的优势。 技术独立: 这样的优势之一是真正的技术独立。MOLIS的用户组织倾向于将它在客 户端/服务器环境中运行- 主要是临床实验室。这意味着代码要在Unix和 Windows之间分离,但是这在Uniface中没有问题,Georges说道,“ 您不必担心平台之间的差异,这是非常棒的。 Java也被认为是独立的平 台,但在实践中它更复杂,并且你会得到一些不希望看到的结果,例如 把额外的时间和精力花在测试和验证上。使用Uniface,你真的可以在两 个平台上运行相同的代码,即使其中有GUI而其他没有。” 另一个令Uniface开发者满意的方面是,该技术是随着技术的发展趋势而 不断更新的。你不知道IT业在未来几年会如何,现在使用的许多工具会 消失,但Uniface自1984年以来就一直在市场上,并且它仍然存在并且 是不断发展的。Uniface始终紧跟最新的技术,所以,作为回报,这可以 保持你的应用一直是最先进的,例如,在货币方面,不需要重写代码。 当然,这也成为吸引用户组织的吸引力,特别是像vision4health这样的 软件机构,Georges指出。他们可以在UNIFACE中写应用程序,这让他 们在知识方面也很安全,Compuware公司将负责更新技术平台。这意 味着他们可以专注于使应用程序尽可能完整的和先进的,快速响应业务 的改变。 生产率: 另一个主要优点是Uniface的生产率。“用Java写代码需要花费很多的时 间- 这仅仅是因为你必须写更多的代码。有一次我遇到一个问题,因为我 已经用Java编写了一个GUI,当我把它展示给我的经理看时他说,“这 很好,但你花费的时间比我预期的多很多!”这是因为在你得到正确的 结果之前,你需要花费很多的时间。在Java中你需要在开发的过程中做 很多的尝试。但在Uniface中你不会有那种失望,因为事情会比较顺利, 而且最后你都能得到你想要的结果。只需几行代码,你可以创建,例 如,用户的Windows界面的外观和感觉,”Georges说道。 他解释说,在Java中这是非常麻烦的,因为你有这么多的代码,或者 你必须选择合适的开源框架从而让您的应用程序可以工作,这与在 Uniface中只是创建业务逻辑代码是十分相对的。“少了很多代码但却 得到了相同的结果,这是一个巨大的利益,这也使得我的经理非常高 兴!”Georges总结道。 生产率的好处适用于维护和开发。“在Java中维护始终是一个挑战,因 为它不仅取决于你的知识,而且取决于编写你类的人员的技能。当你不 得不做维护时,那将是要负责一个巨大的代码量。Uniface的代码更紧 凑,也更容易预测,在那里你会找到一个特定的位的逻辑。Java有着广 泛的编程风格,所以如果你要修复的错误或提出的增强,你必须花时间 寻找一块你需要更改的逻辑。这通常有很多的可能性,特别是如果涉及 好几个开发人员。使用Uniface,你会更好的知道从哪里开始,从而完全 可以缩短维护周期。” 白皮书 uniface.com “Java被认为是独立的平台的,但在实践中,它非常 复杂。而Uniface的,缺真的可以在不同的平台上运 行相同的代码。” GeorgesHerzet, SoftwareDeveloper
  • 3. “Uniface让你使用很少的代码, 却得到相同的结果,这是一个巨 大的利益。” 基于开发生产力的研究,参考PetPlaza应用1 代码行数 14,273 L.O.C. 2,000 0 14,000 1,958 L.O.C. Java 可靠性: Uniface的代码质量是标准化的,这也是相对于Java的一个优势。Java的 质量是非常依赖于程序员的专业知识水平,Georges说:“你必须要知 道类,否则,你可能最后要面临改变很多东西。因此,一个Java项目的 质量依赖于整个团队中真正了解类设计的人员,这是一个很大的不足, 能对项目产生重大的影响。” 另一方面,Uniface由于继承了模型驱动的方式,使用模板和较少依赖 于编码,这使得开发人员能够专注于业务逻辑,减少了问题的产生。此 外,Uniface开发的结构性质意味着执行良好的编程习惯。 敏捷环境中的工作满意度 当你开始使用Uniface,工作的重点从复杂的代码编程快速转移到为用户 提供能够满足最终用户的解决方案,Georges发现:“这个适合我,因 为,虽然年轻的开发人员可能会对最新的开发工具感到兴奋,围绕着他 们大肆宣传,但当看到这些开发工具和语言的兴奋消退后,客户更满意 于你可以在很短的时间给到他们想要的。” 在Uniface中那种满足感很容易找到,因为它本身的敏捷方法的发展。“ 例如,你可以在几个小时内展示屏幕外观的变化,甚至在一天之内一个 工作原型的改变。通常用户很难描述他们想要的东西,但是比较容易展 现给他们一个快速的原型,Uniface不需要太多的时间便可以做到。使用 Java,那就要花很多时间,因为你将不得不写’管道’去运行图形界面 和业务逻辑,所以该项目需要在另一个层面上,它变得更加难以管理客 户的期望。” 由于应用程序体系结构的工作方式Uniface的强制执行业务规则的指引, 很容易迅速做出改变。乔治解释道:“在Java中没有任何规则可循,任 何地方,一个不合格的架构师,你的代码可以是所有的地方。在Uniface 中,即使有坏的开发实践,那里总有强制执行代码所在地的指导。“以 敏捷的方式工作是很重要的,,你花一点时间搜索,便可以增加新的功 能。 1 开发生产力研究:Uniface可以在短的时间内,用更少的代码递交3GL的应用 白皮书 uniface.com
  • 4. 开发人员和雇主双方受益的职业生涯 就像其他已经接受过Uniface交叉培训的开发人员一样,Georges相信雇 主倾向于高估了需要漫长Uniface的经验。“对于像我现在做的工作,我 不认为你需要聘请具有多年Uniface经验的开发人员。你需要的是一些具 有强大IT背景的,能够非常灵活性的将知识和技能应用到不同的环境, 非常有兴趣应对业务挑战,而不仅仅是技术的人。幸运的是,我的经理 赞同我并给我这项工作!现在,我将我所有的java及其他经验应用在我 现在做的工作上。” 三年过去了,Georges很高兴自己决定转移到vision4health和 Uniface。“我很享受使用Uniface,了解我们的业务和我们的客户所面 临的挑战这两种工作。IT行业工作是需要适应改变的,有了这种心态, 你可以使用任何工具。” 全球社区的一部分 Georges最近已开始通过Uniface.info网站直接加入了Uniface国际社 区用户,例如,代表其雇主参观在阿姆斯特丹的实验室。“能够见到 Uniface的团队是一个非常棒的机会,发现Uniface的发展趋势甚至尝 试一下。我期待着更多地参与其中,因为我现在是vision4health负责 Uniface的主要联络者。” 一个Java程序员的Uniface愿望清单 • “代码辅助”功能就像Eclipse或Java - 建议如何开展特定的功能 »» 从产品经理的想法:这是我们听到的针对Uniface10的最常见的 要求之一,作为结果,我们将包括这一重要的功能。 • “重构” - 如果你需要添加一个参数,该系统可以发现所有的问 题中的函数调用,并自动做出改变 »» 从产品经理的想法:在Uniface10中,新的IDE会有能力现 这种功能。 • 简单易用,轻量级的版本控制 »» 从产品经理的想法:这是一个巨大的话题! 最终,有这么多选择的版本控制和开发商店总是有自己独特 的方式去管理源。Uniface10会给开发者带动项目发展的 能力,跨多个项目分享Uniface的部件。另外Uniface10 将鼓励(但不强制)开发等技术,就像沙盒 这让开发人员更加便于控制。 • 多种国家语言支持HTML小部件/浏览器 »» 从产品经理的想法:HTML小部件是一个相当新的控件,因而我 们 会不断使其完善,我们将加强其功能。 白皮书 uniface.com • 在电缆生产厂负责C语言编写的用于工业过程控制的内部IT 系统项目(KabelwerkEupenAG) • 使用SYNON(基于IBMiSeries的开发工具)开发, 针对销售,会计和过程控制应用 • Java开发,主要是针对客户端/服务器环境下的GUI (也是iSeries系列) • 管理一个Java开发人员的小团队,管理一个使用J2EE的基于 Web的会计项目。 Georges Herzet的IT背景 1993年取得列日大学(比利时)计算机科学硕士学位 后,Georges 的工作经验包括: Uniface是在生产力、可靠性方面业界首屈一指的开发工具,可提供为企业级可伸缩性业务打造最重要应用的快速模块开发环境。 更多详情请参考: www.uniface.com Uniface B.V. Hoogoorddreef 60, 1101 BE Amsterdam, The Netherlands © 2014 Uniface B.V. www.uniface.com/legal.html