当前位置:首页 » 网页前端 » 基于osgi的web开发
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

基于osgi的web开发

发布时间: 2023-04-07 23:12:16

① 如何使用 Maven 开发OSGI web bundle

你好。
根闷敬据你的描述:
web bundle 我的实现方法是在OSGi中加入一个jetty bundle,其岩罩族他bundle引用这个HttpService,并把粗弊自己加入到这个HttpService中。

② GlassFish是什么基于OSGi的Web服务器

GlassFish 是一个轻量级的Web2.0开发和部署平台,建立在基于OSGi的模块化架构上。开发者可以从这个支持动态扩展和可嵌入式的平台上获益,此平台还支持现存的Java Web技术,以及JRuby和Groovy。GlassFish包括哪些功能?GlassFish提供了一个基于OSGi的轻量级可扩展的核心。与GlassFish的更新中心结合,开发人员可以获得Java Web技术,动态语言支持,容易使用的管理和命令行界面。GlassFish社团正在开发一个免费,开源的Java应用服务器。这个服务器实现了Java平台中的最新特性。Java平台包括一些技术的最新版本如:◆Enterprise JavaBeans (EJB) 3.0, ◆JavaServer Faces (JSF) 1.2, ◆Servlet 2.5, ◆JavaServer Pages (JSP) 2.1, ◆Java API for Web Services (JAX-WS) 2.0, ◆Java Architecture for XML Binding (JAXB) 2.0, ◆Java Persistence 1.0, ◆Common Annotations 1.0, ◆Streaming API for XML (StAX) 1.0和其它一些新的技术。目前最新版的GlassFish技术预览版已经发布,具有高度模块化特点,扩展方便,支持java,

③ osgi web应用 怎样部署

从Equinox下载完整的eclipse-equinox-<buildno>.zip 二进制文件框架。本文中的示例代码在版本3.3下进行测试。
解压缩下载的文件,保存到你的计算机上。本示例将使用目录 C:\software。
在你的计算机上建立一个目录,命名为 C:\equinox (或对于你的操作系统等同的目录)。
从 C:\software 将下面的JAR文件复制到 C:\equinox:
org.eclipse.osgi_<version>.jar

④ Virgo的Java 应用服务器

2007年末作为“SpringSource Application Platform”启动,很快改名为“SpringSource dm Server”。
SpringSource dm Server的三个基本目标:
· 提供一个更好的OSGi平台 · 支持Java EE应用向OSGi的平滑过渡(简化迁移) · 自身是晌芹模块化和可扩展的
2008年末dm Server1.0发布;
2009年末dm Server2.0发布,引入了独立的kernel;
2010年1月Springsource将dm Server贡献给Eclipse基金会,改名为Vrigo;
之后Virgo经历了2.1版本和3.0版本,其中3.0开始支持Jetty和snaps框架;
2012年3月,发布首散Virgo 3.5版本,引入了p2,以及从kernel中分离出了“Nano”。 · Web管理控制台:还记得OSGi生命周期管理的API吗?基于这些API你可以自己实现一个控制台,Virgo给你提供了一个Web界面,你点点鼠标就可以部署和管理bundle了。当然,Virgo的控制台还提供了其他一些额外的信息,比如诊断性的mps,这对于调试是非常有帮助的。
· Gogo shell :这是apche felix项目下的一个子项目,Virgo给集成过来了,也是用于部署和管理bundle的,这回不是Web界面了,而是通过SSH或者telnet。
· Plans - 这是Virgo在bundle基础上引入的一个概念,你可以看成是多个bundle的一个集合,这些bundle构成一个整体,因此也引入了作用域,和其他的bundle隔离开来了。 · 供应(Provisioning) - 自动从本地或者远程的仓库中提供系统所依赖的bundle、plan、pars和配置。这些都是Virgo中的制品模型,后面会有介绍。
· Web服务器 - 实现了OSGi Web Container规范,还记得OSGi企业规范宴芹毕吧,这是其中的一部分。支持原始的WAR格式,当然更支持WAB格式了。这样一个服务器对于将OSGi应用到Web开发中来实在是太有用了。如果你有基于OSGi HttpService来开发过Web应用的经历你就更有体会了。
· 用户空间(User region)- Virgo引入这一概念用来将用户安装的应用和Virgo的内核隔离开来。这使得开发者只需关注于应用本身的制品和依赖,不需要关注内核中的东西。 此外Virgo还集成Spring 3,提供了强大的日志功能、JMX管理功能以及Web应用的热部署功能。

⑤ 如何将OSGI的Bundle发布为WebService

貌似使用 cxf可以将osgi服务发布为一个webservice, 见:以 OSGi 包的形式开发和部署 Web 服务

⑥ 数据可视化的web前端开发采用什么样的架构比较合适

web前端分为网页设计师、网页美工、web前端开发工程师
首先网页设计师是对网页的架构、色彩以及网站的整体页面代码负责
网页美工只针对UI这块儿的东西,比如网站是否做的漂亮
web前端开发工程师是负责交互设计的,需要和程序猿进行交互设计的配合。

web前端需要掌握的有脚本技术javascript DIV+CSS现下最流行的页面搭建技术,ajax和jquery以及简单的后端程序等。 后端的话可供开发的语言有 asp、php、jsp、.NET 这些后端开发语言的话搭建环境都不一样,具体如果自己想学的话看是想从事前端部分还是后端程序部分。后端开发如果有一定的条件的话可以转为软件开发。不过要有一定的语言基础,类似java语言。C#等。关键是看自己的兴趣爱好。。

这个到后期不会区分这么细,做前端到后期也会懂一些后端的技术,反之,后端也是。

在实际的开发过程中,当前这样定位前端、后端开发人员。
1)前端开发人员:精通JS,能熟练应用JQuery,懂CSS,能熟练运用这些知识,进行交互效果的开发。
2)后端开发人员:会写Java代码,会写sql语句,能做简单的数据库设计,会Spring和iBatis,懂一些设计模式等。
现在来看,对前后端的要求还是蛮低的,尤其是后端,新员工经过培训之后都是可以参与到后端开发的,没有太高的技术门槛,唯一需要做的就是先变成熟练工种,这个阶段没有涉及到设计模式、架构、效率等一些列问题。

还是先google一下,看看网上对Web前端开发、Web后端开发分别是什么?
Web前端: 顾名思义是来做Web的前端的。这里所说的前端泛指Web前端,也就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。
Web后端:后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。

再来看看大公司对前后端人员招聘的要求,通过这个角度看看前端、后端的技术要求:
Web前端:
1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。
2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。
3)熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery
4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。
5)对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。
6)......
Web后端:
1)精通jsp,servlet,java bean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解
2)练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力
3)熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑
4)精通面向对象分析和设计技术,包括设计模式、UML建模等
5)熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力
6)......
从几个公司的招聘要求可以看到,做Web开发,对前端和后端的要求是各自所不同的。而目前的实际情况,也和这个差不多,但是,自己无论在知识的掌握程度上,还是知识掌握的宽度上,都是不够的。

首先,自己在前端缺乏积累,没有沉淀,专业的前端技术的积累是从去年才开始的,同时,在前端也缺乏支撑与高手,所以,走起来比较困难。同时,前端人员培养的较少,一个原因是对前端了解太少,另外一个原因就是对前端与后端的工作比例估计不足。所幸,在这一年也在前端有了很快的进步,培养了几个优秀的开发人员,有意识的解决了前端的用户体验,这都是可喜的。今年,需要更进一步,专业化。
其次,在后端发展的不够宽,后端的知识体系已经比较完善,但是,很多应用点都没有涉及到。同时,对现有技术框架的理解都不够深入,太浮躁。目前的设计团队在解决互联网高并发、大数据量的存取上经验与能力都还不足,需要正视这些问题。后端技术的发展需要更加的精进,以解决实际存在的问题为主。
最后,在前端、后端都缺乏熟练工,这会影响到开发的速度,同时,也不利于后期技术的研究。

⑦ 如何将OSGI的Bundle发布为WebService

OSGI 相互调用服务渗拍是不合 里的设丛搭羡置,所有出现相互调 用枝源的设计都可以通过第三 个bundle的中介进行避免

⑧ WEB开发工程师和前端开发有什么区别 前端开发还分很多种类别的吗

所谓web开发,是基于web平台进行的所有开发活动,比如用java、c++、c#等进行web应用组件的开发、数据业务逻辑等,和其它的开发活动没有太大差别。

而web前端开发,主要是指面向用户的界面或表现层开发,一般说web前端开发,绝大部分情况下都是指javascript、flash、silverlight、css、html、flex等的开发设计活动,有时候也包含php、asp.net等进行的动态网页开发。
-Web前端:
1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。
2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。
3)熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery
4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。
5)对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。
6)......

-Web后端:
1)精通jsp,servlet,java bean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解
2)练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力
3)熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑
4)精通面向对象分析和设计技术,包括设计模式、UML建模等
5)熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力

⑨ 怎样在web页面控制osgi插件工程的开启,停止,下载和上传功能(是用sts工具开发的spring dm的插件工程)

boudle启停应该是由后台脚本控制,web页面要做控制可以往后台发送命令的形式,具体技术java调用shell命令。

⑩ 如何在 WebSphere Application Server V8 中部署和管理 OSGi 应用

Blog 应用程序包里共有 5 个 bundle,但是只需要其中的四个就可以运行这个程序,因为第五个 bundle 是持久化 bundle 的更新版本,主要是用来演示如何去动态更新 OSGi bundle 的。另外,要想使 Blog 应用正常运行,还有两个与日志相关的 bundle,这两个 bundle 需要事先导入到 WAS 的内部 bundle 存储库里。以上所提到的所有资源被放在 blogSample.zip 文件中的 installableApps 文件夹里。这些 bundle 是按功能划分的:
com.ibm.samples.websphere.osgi.blog.persistence, 包含了和持久化相关的代码,同时也提供了一些接口,可以被主程序用来执行博客更新和查询功能。
com.ibm.samples.websphere.osgi.blog_1.0.0,是 Blog 应用的主程序,包含了主要的业务逻辑代码,并负责和前端 web 层与后端持久化层的交互。
com.ibm.samples.websphere.osgi.blog.web,借助 html、css 等完成前端显示的功能。
com.ibm.samples.websphere.osgi.blog.api,包含 Blog 应用所需要的 API。
com.ibm.samples.websphere.osgi.blog.persistence_1.1.0,是持久化 bundle 的更新版本,新增了对博客文章的评论服务。
Blog 提供了两种部署方式,一种是利用脚本进行完整的部署,另一种是先用脚本做一些初始的配置,如数据源的配置,然后再用 WAS 管理控制台或命令行方式去安装 Blog 应用。在部署成功以后,我们还可以对应用进行使用、维护、拆卸以及更新操作。在本文中,我们使用第二种方式来部署 Blog 应用。
在 WAS V8 中配置 Blog 应用所需资源
安装 Blog 应用包含两个部分,一部分是配置 Blog 应用所需的资源,例如建立数据库、配置数据源等;另一部分是利用 WAS 管理控制台或者命令行工具安装 Blog 应用到 WAS 上。在这里我们先介绍第一部分,第二部分穿插在后续的 WAS 对 OSGi 应用部署和管理功能介绍的篇章中。
我们使用脚本配置 Blog 应用所需的资源,这些脚本存放在 blogSample.zip 中的 scripts 目录里。其中,createBlogDb.sql 用来创建所需的 Derby 数据库和相关数据库表,blogSampleInstall.py 包含了一些 Jython 命令用来创建数据源,以及以默认的方式安装 Blog 应用。
使用脚本配置 Blog 应用
使用如下命令创建和配置 Derby 数据库(BLOGDB)以及相关数据库表
对于 Unix 系统
app_server_root/derby/bin/embedded/ij.sh scripts/createBlogDb.sql

对于 Windows 系统
app_server_root\derby\bin\embedded\ij.bat scripts\createBlogDb.sql

使用如下命令创建数据源
对于 Unix 系统
app_server_root/profiles/profileName/bin/wsadmin.sh
-f scripts/blogSampleInstall.py setupOnly serverName nodeName

对于 Windows 系统
app_server_root\profiles\profileName\bin\wsadmin.bat

-f scripts\blogSampleInstall.py setupOnly serverName nodeName
运行完上述命令后,可以登录到 WAS 控制台查看刚刚创建的数据源。导航到 Resources > JDBC > Data sources 面板:

部署你的 OSGi 应用
管理 bundle 存储库
在上文我们提到 com.ibm.samples.websphere.osgi.logging.api.jar 和 com.ibm.samples.websphere.osgi.logging.impl.jar 这两个 bundle 是 Blog 应用正常运行所不可或缺的,在安装 Blog 应用之前,需要先将这两个 bundle 导入到 WAS 的 bundle 存储库中。在这一节我们就介绍如何去管理 WAS 的 bundle 存储库。
不同的 OSGi 应用之间可以共享很多通用的 bundle,为了简化对共享 bundle 管理工作以及避免每一个 OSGi 应用都单独的去维护这些 bundle,WAS 提出了 bundle 存储库的概念。共享的 bundle 或者组合 bundle 以及第三方类库的 bundle 都可以事先导入到 bundle 存储库中,每一个 OSGi 应用只需声明对这些 bundle 的引用就可以很方便的使用 bundle 存储库里的 bundle。WAS 的 bundle 存储库包括内部存储库和外部存储库,前者是将共享的 bundle 保存在本地,而后者则可以通过添加链接(名字和 URL)使用外部的 bundle。
管理内部 bundle 存储库
使用 WAS 管理控制台管理内部 bundle 存储库
管理员可以使用 WAS 管理控制台查看已导入的 bundle 以及 bundle 的详细信息,还能通过管理控制台向存储库添加和从存储库删除 bundle。
启动 WAS 管理控制台
导航到 Environment > OSGi bundle repositories > Internal bundle repository 页面在页面中显示的列表就是已经导入到 bundle 存储库里的 bundle,如果是第一次使用,则会显示如下空白页面:

在 bundle 存储库页面可以添加、删除 bundle 或者显示 bundle 详细信息
添加单一 bundle 或者合成 bundle 到存储库
点击 New,将显示上传 bundle 的页面
在对话框里输入 bundle 或者合成 bundle 所在的路径
点击 OK,所指定 bundle 或者合成 bundle 就会被上传到 bundle 存储库
对于 Blog 应用:重复上面的操作,添加 com.ibm.samples.websphere.osgi.logging.api.jar 和 Com.ibm.samples.websphere.osgi.logging.impl.jar 到存储库中。如下图所示:

删除存储库里的 bundle,首先选中需要删除的 bundle,然后点击 Delete 即可完成操作
查看 bundle 的详细信息,点击 bundle 的名字就可以进入到 bundle 的详细信息页面
图 5. Bundle 详细信息
在完成添加和删除操作以后,需要保存修改到主配置文件中。
使用命令行管理内部 bundle 存储库
使用 wsadmin 命令行工具可以实现 bundle 的添加、删除、列表以及显示详细信息操作。由于 wsadmin 默认使用的脚本语言是 jacl,而我们使用的都是 jython 脚本或者命令,所以我们首先要将 wsadmin 的默认脚本语言修改为 jython,方法是编辑如下文件:<profile_root>\<profile_name>\properties\wsadmin.properties,修改"com.ibm.ws.scripting.defaultLang=jython"
导航到 <profile_root>\<profile_name>\bin 目录,启动 wsadmin 命令行工具:

添加单一 bundle 或合成 bundle 到内部存储库
使用 addLocalRepositoryBundle 命令添加 bundle 到存储库,命令格式如下:
AdminTask.addLocalRepositoryBundle('-file path')

该命令中只有一个参数 file,用来指定你要添加的 bundle 的路径,对于 Blog 应用,我们用如下命令依次添加上文提到的两个和 log 相关的 bundle:
AdminTask.addLocalRepositoryBundle('[-file "C:\\blogSample_v8\\blogSample\\installableApps
\\com.ibm.samples.websphere.osgi.logging.impl.jar"]')
AdminTask.addLocalRepositoryBundle('[-file "C:\\blogSample_v8\\blogSample\\installableApps\
\com.ibm.samples.websphere.osgi.logging.api.jar"]')
AdminConfig.save()

添加完以后,登录 WAS 管理控制台,导航至 Internal bundle repository 页面,您将看到两个 bundle 已经被成功添加,如图 4 所示。
显示已添加到存储库里的 bundle 列表
使用 listLocalRepositoryBundles 命令来显示已经添加成功的 bundle 列表,命令格式如下:
AdminTask.listLocalRepositoryBundles()

显示 bundle 的详细信息
使用 showLocalRepositoryBundle 命令来显示 bundle 信息,命令格式如下 :
AdminTask.showLocalRepositoryBundle( ’ -symbolicName bundle_symbolic_name
-version bundle_version ’ )

两个参数分别是要显示 bundle 的名字和版本信息。

将 bundle 从存储库删除
使用 removeLocalRepositoryBundle 或则 removeLocalRepositoryBundles 命令删除一个或多个 bundle,命令格式如下:
AdminTask.removeLocalRepositoryBundle( ’ -symbolicName bundle_symbolic_name
-version bundle_version ’ )
AdminTask.removeLocalRepositoryBundles([

bundle1_symbolic_name;bundle1_version
bundle2_symbolic_name;bundle2_version
bundle3_symbolic_name;bundle3_version ’
])

管理外部 bundle 存储库
对于外部 bundle 存储库,WAS 同样提供了管理控制台和命令行两种管理方式,并且对于外部库的控制和内部库的控制类似。在这里我们就不多加介绍,有兴趣的读者可以阅读本文末参考资料了解更多详细信息。