仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1116|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA教程之用J2EE架构企业级使用仓酷云

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:33:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
主要缺点就是:速度比较慢,没有C和C++快企业级使用是指那些为贸易构造、年夜型企业而创立并部署的办理计划及使用。这些年夜型企业级使用的布局庞大,触及的内部资本浩瀚、事件麋集、数据量年夜、用户数多,有较强的平安性思索。
今世的企业级使用决不成能是一个个的自力体系。在企业中,一样平常城市部署多个相互毗连的、互相经由过程分歧集成条理举行交互的企业级使用,同时这些使用又都有大概与别的企业的相干使用毗连,从而组成一个布局庞大的、超过Intranet和Internet的散布式企业使用聚集。个中,毗连企业外部各类使用的手艺称为EAI(EnterpriseApplicationIntegration,企业使用集成),而毗连企业间各类使用的手艺称为B2BI(Business-To-BusinessIntegration,企业间集成),接纳EAI、B2BI手艺尽早先的N层系统架构就是现今企业级使用的最年夜特性。
别的,作为企业级使用,其不仅要有壮大的功效,还要可以满意将来营业需求的变更,易于晋级和保护。
企业级使用架构
上面我们利用一个图示来复杂地剖析一下企业级使用的架构,见。

<br>
企业级使用的系统架构
这个别系架构的主体是MVC架构。MVC是Model/View/Control的缩写。Model/View/Control是软件计划的典范布局。在这类计划布局下,一个使用被分为三个部分:Model、View和Controller,每一个部分卖力分歧的功效。Model是指对营业数据/信息的处置模块,包含对营业数据的存取、加工、综合等;View是指用户界面,也就是面向用户的数据暗示;Controller则卖力View和Model之间的流程把持,也就是完成两个偏向的举措:1.将用户界面(View)的操纵映照到详细的Model,以完成详细的营业逻辑;2.将经由过程Model处置完的营业数据实时反响到用户界面(View)上。
MVC架构使得使用程序的布局加倍明晰,经由过程将代码依照条理分别为营业逻辑/数据、用户界面和使用流程把持这三个条理,加强代码不乱性。我们晓得,关于Model、View、Controller这三部分功效来说,View的完成通常为由界面计划职员和界面程序员来完成,Model则是由营业逻辑程序员来完成,Controller则一样平常由卖力全体把持的程序员来完成。Controller部分的代码对照不乱,一样平常会完成一个通用的架构;而Model则跟从商务流程的变更而变更;View的变动则是跟着用户需求的变动而变动。这类模块功效的分别有益于在代码修正过程当中举行模块的断绝,而不必要把具有分歧功效的代码混同在一同形成凌乱。关于项目开辟而言,有益于在项目小组内依照小构成员各自的善于举行合作,有益于三个部分并行开辟、加速项目进度。
企业级资本毗连
关于Model部分,也就是营业逻辑的处置部分,一样平常老是对商务数据举行处置、加工、综合等。关于企业级使用而言,商袷萦辛街掷丛矗恢质鞘菘猓硪恢衷蚴瞧渌钠笠导队&tau;孟低场?lt;BR>
关于数据库而言,这应该是人人熟习的范畴。我们经由过程利用数据库驱动程序,使用SQL来查询、利用数据库。而关于别的的企业级使用而言,一样平常这些使用城市供应API,经由过程这些API,别的的使用就可以够存取会见个中的数据,乃至是触发这些企业级使用中的一些专业流程。
企业级平台的特性
企业级使用必要利用优异的企业级使用系统布局,而优异的企业级使用系统布局一般来自于优异的办理计划。使用程序计划入手下手就要思索其系统布局的公道性、天真性、强健性,从而既可满意企业级使用的庞大需求,也能为从此体系的调剂和晋级留不足地。系统布局影响了全部使用的性命周期,实践上可以延伸全部使用的性命周期,同时加强了用户在多变的贸易社会中的顺应性,削减了体系保护的开支和难度,从而给用户带来最年夜的好处。
一个幻想的企业级使用体系平台应当具有以下特性:
◆部署、开辟和保护的无效性;
◆体系运转的强健性和牢靠性;
◆具有失利恢复的才能;
◆可以处置海量的数据;
◆可以同时撑持数百个用户;
◆具有很高的平安性;
◆数据的高可用性;
◆能够敏捷地开辟和部署新的使用程序;
◆简化组件重用;
◆直不雅的编程模子;
◆撑持行业尺度和通用编程接口;
◆合用与小、中、年夜各类范围的使用体系;
◆体系用度随体系范围的增加而线性增加;
◆不休举行手艺晋级,以满意不休出现的需求。

利用J2EE架构企业级使用
为了满意架构企业级使用的需求,Java的开创人Sun公司在初期的J2SE(Java2PlatformStandardEdition)基本上,针对企业级使用的各类需求,主导并制造了J2EE(Java2PlatformEnterpriseEdition)。
那末究竟甚么是J2EE呢?从全体上讲,J2EE是利用Java手艺开辟企业级使用的一种现实上的产业尺度(Sun公司出于其本身好处的思索,至今未将Java及其相干手艺归入尺度化构造的系统),它是Java手艺不休顺应和增进企业级使用过程当中的产品。今朝,Java平台有三个版本:合用于小型设备和智能卡的J2ME(Java2PlatformMicroEdition)、合用于桌面体系的J2SE和合用于企业级使用的J2EE。Sun推出J2EE的目标是为了克制传统Client/Server形式的弊端,投合Browser/Server架构的潮水,为使用Java手艺开辟服务器端使用供应一个平台自力的、可移植的、多用户的、平安的和基于尺度的企业级平台,从而简化企业使用的开辟、办理和部署。J2EE是一个尺度,而不是一个现成的产物。各个平台开辟商依照J2EE标准分离开辟了分歧的J2EE使用服务器,J2EE使用服务器是J2EE企业级使用的部署平台。因为它们都遵守了J2EE标准,因而,利用J2EE手艺开辟的企业级使用能够部署在各类J2EE使用服务器上。
为了推行并标准化利用J2EE架构企业级使用的系统架构,Sun同时给出了一个倡议性的J2EE使用计划模子:J2EEBlueprints。J2EEBlueprints供应了实行J2EE企业级使用的系统架构、计划形式和相干的代码,经由过程使用J2EEBlueprints所形貌的系统模子,可以部分简化架构企业级使用这项庞大的事情。J2EEBlueprints是开辟职员计划和优化J2EE组件的基础准绳,同时为环绕开辟事情举行本能机能合作给出了引导性战略,以匡助使用开辟计划职员公道地分派手艺资本。
上面我们参照J2EEBlueprints,分离最新版的J2EE标准(J2EE1.4),从全体上论述怎样利用J2EE架构企业级使用。

<br>
利用J2EE架构企业级使用的系统架构
给出了利用J2EE架构企业级使用的系统架构。J2EE将构成一个完全企业级使用的分歧部分归入分歧的容器(Container),每一个容器中都包括多少组件(这些组件是必要部署在响应容器中的),同时各类组件都能利用各类J2EEService/API。J2EE容器包含:
◆Web容器服务器端容器,包含两种组件JSP和Servlet,JSP和Servlet都是Web服务器的功效扩大,承受Web哀求,前往静态的Web页面。Web容器中的组件可以使用EJB容器中的组件完成庞大的商务逻辑。
◆EJB容器服务器端容器,包括的组件为EJB(EnterpriseJavaBeans),它是J2EE的中心之一,次要用于服务器真个贸易逻辑的完成。EJB标准界说了一个开辟和部署散布式贸易逻辑的框架,以简化企业级使用的开辟,使其较简单地具有可伸缩性、可移植性、散布式事件处置、多用户和平安性等。
◆Applet容器客户端容器,包括的组件为Applet。Applet是嵌在扫瞄器中的一种轻量级客户端,一样平常而言,仅当利用Web页面没法充实地体现数据或使用界面的时分,才利用它。Applet是一种替换Web页面的手腕,我们仅可以利用J2SE开辟Applet,Applet没法利用J2EE的各类Service和API,这是为了平安性的思索。
◆ApplicationClient容器客户端容器,包括的组件为ApplicationClient。ApplicationClient绝对Applet而言是一种较分量级的客户端,它可以利用J2EE的年夜多半Service和API。
经由过程这四个容器,J2EE可以天真地完成后面形貌的企业级使用的架构。
在View部分,J2EE供应了三种手腕:Web容器中的JSP(或Servlet)、Applet和ApplicationClient,分离可以完成面向扫瞄器的数据体现和面向桌面使用的数据体现。Web容器中的Servlet是完成Controller部分营业流程把持的次要手腕;而EJB则次要针对Model部分的营业逻辑完成。至于与各类企业资本和企业级使用相毗连,则是依托J2EE的各类服务和API。
在J2EE的各类服务和API中,JDBC和JCA用于企业资本(各类企业信息体系和数据库等)的毗连,JAX-RPC、JAXR和SAAJ则是完成WebServices和WebServices毗连的基础撑持。
J2EE的各类组件
我们就J2EE的各类组件、服务和API,举行加倍具体的论述,看看在开辟分歧范例的企业级使用时,依据各自需乞降方针的分歧,应该怎样天真利用并组合分歧的组件和服务。
·Servlet
Servlet是Java平台上的CGI手艺。Servlet在服务器端运转,静态地天生Web页面。与传统的CGI和很多别的相似CGI的手艺比拟,JavaServlet具有更高的效力并更简单利用。关于Servlet,反复的哀求不会招致统一程序的屡次转载,它是依托线程的体例来撑持并发会见的。
·JSP
JSP(JavaServerPage)是一种完成一般静态HTML和静态页面输入夹杂编码的手艺。从这一点来看,十分相似MicrosoftASP、PHP等手艺。借助情势上的内容和表面体现的分别,Web页面制造的义务能够对照便利地分别给页面计划职员和程序员,并便利地经由过程JSP来分解。在运转时态,JSP将会被起首转换成Servlet,并以Servlet的形状编译运转,因而它的效力和功效与Servlet比拟没有不同,一样具有很高的效力。
·EJB
EJB界说了一组可重用的组件:EnterpriseBeans。开辟职员能够使用这些组件,像搭积木一样创建散布式使用。在拆卸组件时,一切的EnterpriseBeans都必要设置到EJB服务器(一样平常的Weblogic、WebSphere等J2EE使用服务器都是EJB服务器)中。EJB服务器作为容器和低层平台的桥梁办理着EJB容器,并向该容器供应会见体系服务的才能。一切的EJB实例都运转在EJB容器中。EJB容器供应了体系级的服务,把持了EJB的性命周期。EJB容器为它的开辟职员代管了诸如平安性、远程毗连、性命周期办理及事件办理等手艺环节,简化了贸易逻辑的开辟。EJB中界说了三种EnterpriseBeans:
◆SessionBeans
◆EntityBeans
◆Message-drivenBeans
·JDBC
JDBC(JavaDatabaseConnectivity,Java数据库毗连)API是一个尺度SQL(StructuredQueryLanguage,布局化查询言语)数据库会见接口,它使数据库开辟职员可以用尺度JavaAPI编写数据库使用程序。JDBCAPI次要用来毗连数据库和间接挪用SQL命令实行各类SQL语句。使用JDBCAPI能够实行一样平常的SQL语句、静态SQL语句及带IN和OUT参数的存储历程。Java中的JDBC相称与Microsoft平台中的ODBC(OpenDatabaseConnectivity)。
·JMS
JMS(JavaMessageService,Java动静服务)是一组Java使用接口,它供应创立、发送、吸收、读作废息的服务。JMSAPI界说了一组大众的使用程序接口和响应语法,使得Java使用可以和各类动静两头件举行通讯,这些动静两头件包含IBMMQ-Series、MicrosoftMSMQ及纯Java的SonicMQ。经由过程利用JMSAPI,开辟职员无需把握分歧动静产物的利用办法,也能够利用一致的JMSAPI来利用各类动静两头件。经由过程利用JMS,可以最年夜限制地提拔动静使用的可移植性。JMS既撑持点对点的动静通讯,也撑持公布/定阅式的动静通讯。
·JNDI
因为J2EE使用程序组件一样平常散布在分歧的呆板上,以是必要一种机制以便于组件客户利用者查找和援用组件及资本。在J2EE系统中,利用JNDI(JavaNamingandDirectoryInterface)定位各类对象,这些对象包含EJB、数据库驱动、JDBC数据源及动静毗连等。JNDIAPI为使用程序供应了一个一致的接口来完成尺度的目次操纵,如经由过程对象属性来查找和定位该对象。因为JNDI是自力于目次协定的,使用还可使用JNDI会见各类特定的目次服务,如LDAP、NDS和DNS等。
·JTA
JTA(JavaTransactionAPI)供应了J2EE中处置事件的尺度接口,它撑持事件的入手下手、回滚和提交。同时在一样平常的J2EE平台上,总供应一个JTS(JavaTransactionService)作为尺度的事件处置服务,开辟职员可使用JTA来利用JTS。
·JCA
JCA(J2EEConnectorArchitecture)是J2EE系统架构的一部分,为开辟职员供应了一套毗连各类企业信息体系(EIS,包含ERP、SCM、CRM等)的系统架构,关于EIS开辟商而言,它们只必要开辟一套基于JCA的EIS毗连适配器,开辟职员就可以够在任何的J2EE使用服务器中毗连并利用它。基于JCA的毗连适配器的完成,必要触及J2EE中的事件办理、平安办理及毗连办理等服务组件。
·JMX
JMX(JavaManagementExtensions)的前身是JMAPI。JMX努力于办理散布式体系办理的成绩。JMX是一种使用编程接口、可扩大对象和办法的汇合体,能够超过各类异构操纵体系平台、体系系统布局和收集传输协定,开辟无缝集成的面向体系、收集和服务的办理使用。JMX是一个完全的收集办理使用程序开辟情况,它同时供应了厂商必要搜集的完全的特征清单、可天生资本清单表格、图形化的用户接口;会见SNMP的收集API;主机间远程历程挪用;数据库会见办法等。
·JAAS
JAAS(JavaAuthenticationandAuthorizationService)完成了一个Java版本的尺度PluggableAuthenticationModule(PAM)的框架。JAAS可用来举行用户身份的判定,从而可以牢靠并平安地断定谁在实行Java代码。同时JAAS还能经由过程对用户举行受权,完成基于用户的会见把持。
·JACC
JACC(JavaAuthorizationServiceProviderContractforContainers)在J2EE使用服务器和特定的受权认证服务器之间界说了一个毗连的协约,以便将各类受权认证服务器拔出到J2EE产物中往。
·JAX-RPC
经由过程利用JAX-RPC(JavaAPIforXML-basedRPC),已有的Java类或Java使用都可以被从头包装,并以WebServices的情势公布。JAX-RPC供应了将RPC参数(in/out)编码息争码的API,使开辟职员能够便利地利用SOAP动静来完成RPC挪用。一样,关于那些利用EJB(EnterpriseJavaBeans)的贸易使用而言,一样可使用JAX-RPC来包装成Web服务,而这个WebServoce的WSDL界面是与本来的EJB的办法是对应分歧的。JAX-RPC为用户包装了Web服务的部署和完成,对Web服务的开辟职员而言,SOAP/WSDL变得通明,这有益于减速Web服务的开辟周期。
·JAXR
JAXR(JavaAPIforXMLRegistries)供应了与多品种型注册服务举行交互的API。JAXR运转客户端会见与JAXR标准相兼容的WebServcices,这里的WebServices即为注册服务。一样平常来讲,注册服务老是以WebServices的情势运转的。JAXR撑持三种注册服务范例:JAXRPluggableProvider、Registry-specificJAXRProvider、JAXRBridgeProvider(撑持UDDIRegistry和ebXMLRegistry/Repository等)。
·SAAJ
SAAJ(SOAPwithAttachemntsAPIforJava)是JAX-RPC的一个加强,为举行低条理的SOAP动静利用供应了撑持。
企业级使用示例
上面我们经由过程假定一个企业使用的J2EE完成,来懂得各类组件和服务的使用。假定使用对象是盘算机产物的临盆商/批发商的发卖体系,这个发卖体系可以经由过程本人的网站公布产物信息,同时也能将产物目次传送给盘算机产物买卖市场。发卖体系可以在线承受定单(来自本人的Web网站大概来自盘算机产物买卖市场),并随后转进外部企业办理体系举行相干的后续处置。
拜见,这个企业使用能够这类体例架构。该企业使用的中心是产物目次办理和产物定购办理这两个营业逻辑,利用EJB加以完成,并部署在EJB容器中。因为产物目次和定购信息都必要耐久化,因而利用JDBC毗连数据库,并利用JTA来完成数据库存取事件。

<br>
J2EE使用示例
然后利用JSP/Servlet来完成使用的Web体现:在线产物目次扫瞄和在线定购。为了将产物目次发送给特定的买卖市场,利用JMS完成异步的基于动静的产物目次传输。为了使得更多的别的内部买卖市场可以集成产物目次和定购营业,必要利用WebServices手艺包装贸易逻辑的完成。因为产物定购办理必要由公司外部雇员举行处置,因而必要集成公司外部的用户体系和会见把持服务以便利雇员的利用,利用JACC集成外部的会见把持服务,利用JNDI集成外部的用户目次,并利用JAAS举行会见把持。因为产物订购事件会触发后续的企业ERP体系的相干操纵(包含仓储、财政、临盆等),必要利用JCA毗连企业ERP。
最初为了将这个使用归入到企业全体的体系办理系统中往,利用ApplicationClient架构了一个办理客户端(与别的企业使用办理使用部署在一台呆板上),并经由过程JMX办理这个企业使用。

Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点
蒙在股里 该用户已被删除
沙发
发表于 2015-1-21 10:10:29 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 07:03:07 来自手机 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
冷月葬花魂 该用户已被删除
地板
发表于 2015-1-24 22:02:27 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
海妖 该用户已被删除
5#
发表于 2015-2-2 13:06:47 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-7 20:40:55 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
简单生活 该用户已被删除
7#
发表于 2015-2-23 10:22:59 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
飘灵儿 该用户已被删除
8#
发表于 2015-3-5 21:24:08 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
小妖女 该用户已被删除
9#
发表于 2015-3-11 13:55:27 | 只看该作者
是一种使用者不需花费很多时间学习的语言
老尸 该用户已被删除
10#
发表于 2015-3-14 23:01:24 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
只想知道 该用户已被删除
11#
发表于 2015-3-17 04:57:36 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
再见西城 该用户已被删除
12#
发表于 2015-3-23 19:42:58 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
透明 该用户已被删除
13#
发表于 2015-3-27 10:10:08 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
小女巫 该用户已被删除
14#
发表于 2015-4-6 02:11:21 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
变相怪杰 该用户已被删除
15#
发表于 2015-4-10 10:25:45 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
愤怒的大鸟 该用户已被删除
16#
发表于 2015-4-16 23:13:10 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
若天明 该用户已被删除
17#
发表于 2015-5-1 18:11:37 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
admin 该用户已被删除
18#
发表于 2015-5-10 04:01:52 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
不帅 该用户已被删除
19#
发表于 2015-6-12 09:51:15 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 21:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表