compiere源码下载_Compiere

hacker|
109

文章目录:

请问什么是JAVA?是由那些什么意思的单词组成?

Java简介

1.4 Java 简介

现代技术的发展,尤其是网络技术,给现代企业带来了许多新的机遇和挑战,如改善客户服务、全球化和信息检索等,这些在技术上反映为信息的获取、系统管理、系统集成、新技术的开发、Internet、Intranet等等与商业的结合。而这些要求一个随处可用的开放的结构和在不同的平台之间低成本的信息传递方式,Java正好满足这些要求。

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1.x版发展到1.2版。目前常用的Java平台基于Java1.2。

Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:

1) Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

2) Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

3) Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4) Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

5) Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

6) Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

7) Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

8) Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

9) Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

10) Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

11) Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

1) JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。

2) EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。

3) Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。

4) Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。

5) JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。

6) JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。

7) JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。

8) JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。

在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。

Java开源项目

Spring Framework 【Java开源 J2EE框架】

Spring 是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。【SpringIDE:Eclipse平台下一个辅助开发插件】.

WebWork 【Java开源 Web框架】

WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】

Struts 【Java开源 Web框架】

Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】

Hibernate 【Java开源 持久层框架】

Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate Synchronizer】【MiddlegenIDE】

Quartz 【Java开源 Job调度】

Quartz 是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。

Velocity 【Java开源 模板引擎】

Velocity 是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】

IBATIS 【Java开源 持久层框架】

使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。

Compiere ERPCRM 【Java开源 ERP与CRM系统】

Compiere ERPCRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。

Roller Weblogger 【Java开源 Blog博客】

这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。

Eclipse 【Java开源 开发工具】

Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。

XPlanner 【Java开源 项目管理】

XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。 XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。

HSQLDB 【Java开源 DBMS数据库】

HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92 标准 SQL语法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。

Liferay 【Java开源 Portal门户】

代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。

主要特点:

1、提供单一登陆接口,多认证模式(LDAP或SQL);

2、管理员能通过用户界面轻松管理用户,组,角色;

3、用户能可以根据需要定制个性化的portal layout;

4、能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;

5、支持主流的数据库,如PostgreSQL,MySQL;

6、使用了第三放的开源项目,如Hibernate, Lucene, Struts;

7、支持包括中文在内的多种语言;

8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;

JetSpeed 【Java开源 Portal门户】

Jetspeed 是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是Java和XML. 用户可以使用浏览器, 支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息. Jetspeed扮演着信息集中器的角色, 它能够把信息集中起来并且很容易地提供给用户.

Jetspeed具有如下的特征:

* 即将成为标准化的Java Portlet API

* 基于模板的布局, 包括JSP和Velocity

* 通过开放的内容同步技术支持远程XML内容交换

* 定制默认的主页

* 使用数据库进行用户认证

* 内存缓存技术, 加快页面的响应

* 通过Rich Site Summary技术, 支持同步内容

* 和Cocoon, WebMacro, Velocity集成.

* Wireless Markup Language (WML) 支持

* 使用XML格式的配置文件注册portlet.

* 完整的Web Application Archive (WAR) 支持

* Web应用程序开发的基础设施

* 可以在本地缓存远程内容

* 与Avantgo同步

* 可移植到所有支持JDK1.2和Servlet 2.2的平台

* 与Turbine模块和服务集成

* 可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务

* 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet

* 使用皮肤技术使得用户可以选择portlet的颜色和显示属性

* 自定义功能是的管理员可以选择portlet以及定义个人页面的布局

* 在数据库中存储PSML

* 通过Jetspeed的安全portlets管理用户, 组,角色和权限

* 基于角色对访问portlet进行控制

JOnAS 【Java开源 J2EE服务器】

JOnAS 是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。

JFox3.0 【Java开源 J2EE服务器】

JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发! 如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。

JFox 3.0 拥有以下特性:

1. 重新设计的 IoC 微内核,融入 OSGi 模块化思想

2. 设计成嵌入式架构,能够和任何 Java Web Server集成部署

3. 支持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件

4. 支持 EJB 发布成Web Service

5. 采用 JOTM()提供事务处理,支持两阶段提交(2PC)

6. 采用 XAPool() 提供 XA DataSource,支持智能连接池管理

7. 内置 MVC 框架,实现自动Form Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在Action中注入EJB

8. 支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势

9. 提供 Manager 管理模块,可以查看和管理各种运行时参数

10. 提供根据 JFox 特色重写的 Petstore 应用模块

作为一个JAVA程序员, 应该掌握哪些知识, 目前, 比较流行的java开发框架有哪些,

java基础,三大主流数据库mysql,orcale,sql server;然后是j2ee的相关知识,也就是java开发框架。

Spring Framework 【Java 开源JEE框架】

Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的

Inversion of

Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。

Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了

Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者

JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务

--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。

Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。【SpringIDE:Eclipse平台下一个辅助开发插件】.

WebWork 【Java开源Web开发框架】

WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE

Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard

Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。

Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。

Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the

Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。

WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成

Action(业务层Action类),

session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用

JSP, Velocity, FreeMarker,

JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.

【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】

Struts 【Java开源Web开发框架】

Struts是一个基于Sun

J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message

resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】

Hibernate 【Java开源持久层框架】

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate

Synchronizer】【MiddlegenIDE】

Quartz 【Java开源调度框架】

Quartz是OpenSymphony开源组织在Job

scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或

EJBs。Quartz的最新版本为Quartz 1.5.0。

Velocity 【Java开源模板引擎】

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template

language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine

web开发架构提供模板服务(template

service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。【VeloEclipse

:Velocity在Eclipse平台下的一个辅助开发插件】

IBATIS 【Java开源持久层框架】

使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM

而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL

语句。相对Hibernate等 “全自动”ORM机制而言,ibatis

以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显

得别具意义。

Compiere ERPCRM 【Java开源ERP与CRM系统】

Compiere

ERPCRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。

Roller Weblogger 【Java开源Blog博客】

这个weblogging

设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS

syndication,blogroll管理和提供一个XML-RPC 接口。

Eclipse 【Java开源IDE】

Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数

—4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。

XPlanner 【Java开源项目管理】

XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user

stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。

XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user

stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。

HSQLDB 【Java开源开源数据库】

HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92 标准

SQL语法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。

Liferay 【Java开源门户系统】

代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts

框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce

Lucene实现全文检索功能。

主要特点:

提供单一登陆接口,多认证模式(LDAP或 SQL);

管理员能通过用户界面轻松管理用户,组,角色;

用户能可以根据需要定制个性化的portal layout;

能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;

支 持主流的数据库,如PostgreSQL,MySQL;

使用了第三放的开源项目,如Hibernate, Lucene, Struts;

支持包括中文在内的多种语言;

采用最先进的技术 Java, EJB, JMS, SOAP, XML;

JetSpeed 【Java开源门户系统】

Jetspeed是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是Java和XML. 用户可以使用浏览器,

支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息. Jetspeed扮演着信息集中器的角色,

它能够把信息集中起来并且很容易地提供给用户.

Jetspeed具有如下的特征:

即将成为标准化的Java Portlet API

基于模板的布局, 包括JSP和Velocity

通过开放的内容同步技术支持远程XML 内容交换

定制默认的主页

使用数据库进行用户认证

内存缓存技术, 加快页面的响应

通 过Rich Site Summary技术, 支持同步内容

和Cocoon, WebMacro, Velocity集成.

Wireless Markup Language (WML) 支持

使用XML格式的配置文件注册portlet.

完整的 Web Application Archive (WAR) 支持

Web应用程序开发的基础设施

可以在本地缓 存远程内容

与Avantgo同步

可移植到所有支持JDK1.2和Servlet 2.2的平台

与 Turbine模块和服务集成

可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务

持续化服 务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet

使用皮肤技术使得用户可以选择portlet的颜 色和显示属性

自定义功能是的管理员可以选择portlet以及定义个人页面的布局

在数据库中存储PSML

通 过Jetspeed的安全portlets管理用户, 组,角色和权限

基于角色对访问portlet进行控制

JOnAS 【Java开源应用服务器】

JOnAS是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet

2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA

、JMS、JMX、JNDI、JAAS、JavaMail 。

JFox3.0 【Java开源应用服务器】

JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java

EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发!

如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。

JFox 3.0 拥有以下特性:

重 新设计的 IoC 微内核,融入 OSGi 模块化思想

设计成嵌入式架构,能够和任何 Java Web Server集成部署

支 持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件

支持 EJB 发布成Web Service

采 用 JOTM()提供事务处理,支持两阶段提交 (2PC)

采用 XAPool() 提供 XA

DataSource,支持智能连接池管理

内置 MVC 框架,实现自动Form

Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在

Action中注入EJB

支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势

提供 Manager 管理模块,可以查看和管理各种运行时参数

提供根据 JFox 特色重写的 Petstore 应用模块

EasyJWeb 【Java开源Web开发框架】

EasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架充分借签了当前主要流行的开源Web框架(Struts、JSF、Tapestry

、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架。是一个能实现中小型

Web应用系统快速开发的简易Web框架。

通过EasyJWeb

Tools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等。

框架特点:

零配文件置支持。以前我们每接触一个框架,开始总都要被

他的配置文件折腾一番。EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建你的运用。(适合小型网站系统)。

简 易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页面模板。

页面程序完全分离:实现显示页面与程序逻辑 的完全分离,克服了传统jsp页面难于维护的问题。

基于页面组件的框架。灵活的页面组件配置,可以直接通过配置文件设置字段级的事件 组件。

快速开发支持:通过EasyJWeb

Tools,可以自动生成应用软件模板代码,定制并管理自己的J2EE代码模板,代码生成模板支持最流行的实用Java开发框架(如hibernate、

Spring等)实现快速开发。

Tapestry 【Java开源Web开发框架】

Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有

jwcid属性的html标记。其中jwc的意思是Java Web

Component。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。

Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。【Spindle:Tapestry

辅助开发Eclipse插件】.

FreeMarker 【Java开源模板引擎】

FreeMarker允许Java

servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成

HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。

【FreeMarker Eclipse Plugin与FreeMarker IDE:Eclipse平台下的辅助开发工具】

Lucene 【Java开源搜索引擎】

Apache

Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。

iText 【Java开源PDF类库】

iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java

Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。

Groovy 【Java开源动态语言】

Groovy是一种基于JVM的敏捷开发语言,它结合了Python、Ruby和 Smalltalk的许多强大的特性。

Groovy已在WebWork2中的应用。它可以被编译为标准的Java Bytecode。

OpenCms 【Java开源CMS系统】

OpenCms是一个J2EE的产品,它是用 Java写成的。它和Tomcat捆绑在一起。但是也能够使用ATG

Dynamo、WebLogic和WebSphere。OpenCms支持多种RDBMS来保存内容,包括Oracle、SQL

Server、Sybase和mySQL。新版本提供了一个新的模板引擎,JSP支持,一种新的连接管理系统,提高了稳定性。

JUnit 【Java开源测试工具】

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing

framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

BlueJ 【Java开源IDE】

BlueJ是一个专门为入门级教学设计的JavaTM 开发环境。它是由澳大利亚墨尔本Monash大学BlueJ小组设计并开发的。

XWiki 【Java开源Wiki系统】

XWiki是一个强大的Java开源的Wiki引擎。它支持一些受欢迎的特性如:

内 容管理(浏览/编辑/预览/保存),

支持附件,

版本控制,

全文本搜索,

权 限管理

使用Hibernate进行数据存储,

RSS输出与显示外部的RSS feeds,

多 语言支持,

提供XML/RPC的API,

WYSIWYG HTML编辑器,

导出为PDF

Groovy 脚本支持等等....。

EJBCA 【Java开源网络服务器端组件】

EJBCA是一个全功能的CA系统软件,它基于J2EE技术,并提供了一个强大的、高性能并基于组件的CA。EJBCA兼具灵活性和平台独立性,能够独立使用,也能和任何J2EE应用程序集成。

JXTA 【Java开源其它项目】

Sun微系统公司公开了旨在建立P2P(Peer to

Peer)通用技术基础的JXTA计划。JXTA技术是网络编程和计算的平台,用以解决现代分布计算尤其是点对点(P2P)计算中出现的问题。

JXTA将建立核心的网络计算技术,提供支持在任何平台、任何地方以及任何时间实现P2P计算的一整套简单、小巧和灵活的机制。JXTA首先将归纳目前

P2P的功能特别,而后建立核心的技术来表达目前的P2P计算的局限性。其重点是创建基本的机制,而具体的策略选择权则交给应用的开发者。JXTA将充分利用XML、Java等开放技术,使得UNIX操作系统更强大和灵活,比如利用管道(Pipes)传输Shell命令实现复杂的计算任务。JXTA支持

P2P应用的基本功能来建立一个P2P系统,还将努力证实这些可以成为建立更高层功能的基础构造模块。JXTA架构可以分为三个层面:JXTA核心层、

JXTA业务层和JXTA应用层。

DWR 【Java开源AJAX框架】

DWR(Direct Web

Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本

DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring

bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.

ZK 【Java开源AJAX框架】

ZK是一个Ajax Java Web框架,利用少量代码就能够开发出拥有Rich

UI的Web应用。ZK提供基于XUL的标记语言和事件驱动的组件,可以让你像开发桌面应用程序一样简单。支持EL表达式和脚本语言包括:JavaScript、Ruby和Groovy等。支持Annotation及数据绑定。集成Google

Maps、FCKeditor、DOJO以及Timeline。

JAVA是什么意思

[编辑本段]Java简介

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。

Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。

2009年04月20日,oracle(甲骨文)宣布收购sun。

1991年,Sun公司的James Gosling。Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(一种橡树的名字)软件,他是Java的前身。当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,得以研发和发展。为了促销和法律的原因,1995年Oak更名为Java。Java的得名还有段小插曲呢,一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。很快Java被工业界认可,许多大公司如IBM Microsoft.DEC等购买了Java的使用权,并被美国杂志PC Magazine评为1995年十大优秀科技产品。从此,开始了Java应用的新篇章。

Java的诞生时对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:

(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重要性并可即插即用等分布式计算模式的需求。

(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。

(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。

(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。

总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。

[编辑本段]JAVA-名字起源

Java自1995诞生,至今已经14年历史。Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。

据James Gosling回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个名字。Gosling注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了。

在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk(丝绸)。尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。

10多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。而Java语言也如同咖啡一般醇香动人。

[编辑本段]Java语言特点

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。

当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢?

Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。

在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗耀眼的明星,丑小鸭一下子变成了白天鹅。

[编辑本段]Java主要特性

1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

[编辑本段]Java相关技术

1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。

2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。

3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。

4、Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无缝的互操作性。这使得Java能集成异构的商务信息资源。

5、JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。

6、JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。

7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。

8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。

在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。

java-参见

计算机科学课程列表

JNI(Java Native Interface)Java本地接口。

[编辑本段]Java开源项目

Spring Framework

Spring 是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。.

WebWork

WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.

Struts

Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

Hibernate

Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:

Quartz

Quartz 是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。

Velocity

Velocity 是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。

IBATIS

使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。

Compiere ERPCRM

Compiere ERPCRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。

Roller Weblogger

这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。

Eclipse

Eclipse平台是IBM向开放源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。

NetBeans

NetBeans IDE 是一个为软件开发者提供的自由、开源的集成开发环境。您可以从中获得您所需要的所有工具,用 Java、C/C++ 甚至是 Ruby 来创建专业的桌面应用程序、企业应用程序、web 和移动应用程序。此 IDE 可以在多种平台上运行,包括 Windows、Linux、Mac OS X 以及 Solaris;它易于安装且非常方便使用。

XPlanner

XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。 XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。

HSQLDB

HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92 标准 SQL语法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。

Liferay

代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。

JetSpeed

Jetspeed 是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是Java和XML。用户可以使用浏览器,支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息。Jetspeed扮演着信息集中器的角色,它能够把信息集中起来并且很容易地提供给用户。

JOnAS

JOnAS 是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。

JFox3.0

JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发! 如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。

Spring开源软件公司是如何盈利的呢

开源就是开放源代码

1、盈利模式之一:多种产品线

在这种模式中,开源软件被用来为直接产生收入的专有软件创建或维护市场地位。

例如,开源客户端软件驱动服务器软件的销售,或者开源版本驱动产品的商业许可版本的销售。这种模式很常见。

例如,针对个人和企业同时推出MySQL产品,有开源版和专业版两种版本,使用不同的授权方式。为了更好的推广,开源版本是完全免费的,而收入来自授权销售和专业版本的支持服务。

另一个例子是Redhat,它在RedhatLinux9.0之后将桌面操作系统转换为Fedora项目,并利用FedoraCoreLinux在开源社区中的声望,促进了RedhatEnterpriseLinuxAS/ES/WS服务器线的销售。

2、盈利模式之二:技术服务型

在这种模式下,开源软件占据了一个新的市场地位,不是针对产品,而是针对技术服务。JBoss是这种模式的一个很好的例子。JBoss应用服务器是完全免费的,通过提供技术文档、培训、二次开发支持和其他技术服务来付费。

3、盈利模式之三:应用服务托管(ASP)

这种模式适用于基于开放源码软件的应用程序服务提供者(ASP)。

例如,PHPLive !它是一个基于PHP和MySQL的开源软件,可以为企业用户提供实时聊天服务。已经有几十家公司公开上市。承载服务的应用程序服务提供者。

4、盈利模式之四:软、硬件一体化

这种模式是针对硬件制造商的。随着竞争的普及,市场压力迫使硬件公司开发并维护软件,但是软件本身却并不是利润中心,因而采用开源软件。

这种模式为大型公司广泛采纳,比如IBMHP等服务器供应商巨头,通过捆绑免费的Linux操作系统销售硬件服务器。SUN公司近期将其Solaris操作系统开放源码,以确保服务器硬件的销售收入,也是这种模式的体现。

5、盈利模式之五:附属品

在这种模式中,出售开放源代码的附加产品。比如在低端市场,出售杯子和T恤衫等;在高端市场上,出售专业编辑出版的文档和书籍。

O'Reilly集团是销售开源软件附加产品公司的典型案例,他出版了很多优秀的开放源代码软件的参考资料。O'Reilly实际上雇用和支持了一些著名的开放源代码黑客(例如LarryWall和BrainBehlendorf),并以此提高它在市场上的声望。

6、盈利模式之六:品牌战略、服务致上

在这种模式下,开源公司利用开源软件传播的固有优势,以极低的成本建立和传播品牌。并通过向用户提供与产品相关的服务来获得报酬。

Compiere公司的ERP和CRM软件就是这种模式的典型例子。Cambier公司开发的开源ERP和CRM软件以其卓越的产品迅速得到了北美、欧洲和亚洲中小企业用户的认可。

因此,Compiere品牌迅速传遍全球,成为企业管理软件市场上的全球知名品牌。

7、盈利模式之七:市场策略

这种模式是一种抢占市场的快速营销策略,主要是为以后的增强型产品的销售奠定基础。有很多这样的例子。例如,微软声称其开放Office源代码的一部分实现了这一策略。

另一个例子是CRM starlet SugarCRM,一个由Suga技术开发的开放源码版本,自2004年上半年公开下载以来,已被广泛使用,为9月份发布的打包专业套件做准备。

扩展资料:

开源软件的经营模式多种多样,随着开源软件的发展,会有更多的盈利模式应运而生。

事实上,一家公司可能混合采用其中的几种盈利模式,比如康比尔公司不仅采用了第六种品牌策略,同时也采用了第二种提供技术服务的方式。

在开源软件大潮的冲击之下,包括微软在内的商业软件公司,也开始认可开源软件"软件成为服务"的本质。

3条大神的评论

  • avatar
    访客 2022-07-13 下午 10:02:26

    rm Micro Edition,java平台微型版)。 2009年04月20日,oracle(甲骨文)宣布收购sun。 1991年,Sun公司的James Gosling。Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(一种橡

  • avatar
    访客 2022-07-14 上午 01:00:39

    容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑

  • avatar
    访客 2022-07-13 下午 10:36:14

    ERPCRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报

发表评论