Y*******n 发帖数: 4646 | 1 Siebel Configuration EAI and EIM
OBIEE Reports, Dashboards, ETL
多谢大家。包子备好了。 |
|
b****e 发帖数: 1275 | 2 let's brainstorm on money-making ideas :)
for someone who can program, there're generally three kinds of
companies you can start:
1. the easiest.. consulting. you can either be an application
consultant who speciializes in ERP, EAI, database, or be a
general-purpose consultant who just programs. pro: easy to start,
reasonably well-paid (100+/hr if you can avoid bench time,
that's 200k a year) con: limiited upside, 200k a year is nice
but you can't get rich that way. plus you have to maintain yo |
|
|
z*******3 发帖数: 13709 | 4 嗯,古德霸的例子还有优化的空间
把web给干掉,不用java写,不要上spring mvc或者是jsf之类的
用php就行,apache http server
便宜得多,然后通过内部网call app server上的web service
便宜,而且如果用ejb的话,并发数量可以控制
写起来也不复杂,嗯,这应该是将来的趋势
然后外层对于非web的,可以用java写一些特殊的server
比如网游的服务器啊之类的,这样一个结构良好清晰的eai就出来了
在不
ORM |
|
S**********C 发帖数: 161 | 5 真服了,看来你完全没有领会到Abstract Classs和Interface为什么存在,
不是说你不写这些新的框架,就不需要用这个,他们代表的是一种软件的设计思想,
(不是任何一个系统都是做个web,然后来个database CRUD就完了)
咱不要言必称EJB,Pattern,BPEL,EAI,balabala了,先拿最简单的讨论,
java.util.xxx 里面的AbstractList,AbstractMap这些如果不写成Abstract class,
java.sql.xxx 里面的ResultSet,Statement这些如果不写成interface,
很想请教一下你的高见,你有什么更好的方法去写? |
|
S**********C 发帖数: 161 | 6 你号称写了10几年java,但居然不能从自己做过的项目里面随便举一个例子说怎么用
abstract class? 大哥你天生就是architect啊,言必称EJB,BPEL, EAI,Web Services.
..怎么玄乎怎么来。 |
|
t*******e 发帖数: 684 | 7 补充一下,EAI领域,包括ETL, ESB,BPM,Rule Engine等,Java也是独大。 |
|
t*******e 发帖数: 684 | 8 补充一下,EAI领域,包括ETL, ESB,BPM,Rule Engine等,Java也是独大。 |
|
z*******3 发帖数: 13709 | 9 嗯,heavy关键看用途
如果只是hello world
我看java都没有必要
但是如果是eai,对方用weblogic或websphere
可以省不少事
当然如果说有什么是开源不能替代的
这个还真没有,用开源的蛮好,应该提倡
手枪多了,齐射的效果也能变成大炮不是 |
|
M***r 发帖数: 79 | 10 1
If the app server is built on OSGI model, there is not much difference on
runtime heavy/light between web container and app server.
嗯,heavy关键看用途如果只是hello world我看java都没有必要但是如果是eai,对方
用weblogic或websphere可以省不少事当然如果说有什么是开源不能替........ |
|
k********e 发帖数: 368 | 11 赞同。IBM和google这种公司不是一个类型的。IBM注重集成,客户都是大公司,不差钱
的。google就是游击队,针对小公司或者个人消费市场。
蓝色巨人屹立不老是有原因的。
app server里面,重要的不是方便,而是稳定性和可扩展性,及EAI集成能力。一个可
以应付海量数据压力,和海量计算的系统,绝对不能出现系统崩溃或拒绝服务的情况。
这时候,重量级的app server就看出区别了。如果出现了问题,IBM,ORACLE这种公司
甚至连APP server,JVM都可以重写一遍,你说这样的服务合同应该给开源服务器还是
给IBM,Oracle? |
|
t*******e 发帖数: 684 | 12 和我的想法比较近。JTA的话有几个opensource的transaction managers,再加支持xa
的datasource drivers就可以了,不需要EJB container。remoting的话,spring
remoting+soap+rest足够了,再多就要用EAI solution了。EJB remote事实证明麻烦多
于好处。
几年前有个比较web server的文章,commerical的比opensource的在session failover
和redundency方面写的好些,scale up比较效率高。其他没有什么太多差别。 |
|
z*******3 发帖数: 13709 | 13 回头看第一页5楼
把我这个帖子重复读三遍,看看我是什么意思
看看我有没有下什么结论
发信人: zhaoce073 (迟到早退不思上进的蜥蜴), 信区: Java
标 题: Re: 真的还有人用那么heavy的web sphere,jboss么?
发信站: BBS 未名空间站 (Sun Nov 4 23:40:12 2012, 美东)
嗯,heavy关键看用途
如果只是hello world
我看java都没有必要
但是如果是eai,对方用weblogic或websphere
可以省不少事
当然如果说有什么是开源不能替代的
这个还真没有,用开源的蛮好,应该提倡
手枪多了,齐射的效果也能变成大炮不是 |
|
t*******e 发帖数: 684 | 14 IDE自动生成的UI code,特别是proprietary的,也包括dreamweaver,word自动生成的
html等等,都是不可维护的。这个结论即便推广到EAI/ESB,各种vendor提供的visual
wizard tool也成立。 |
|
z*******3 发帖数: 13709 | 15 我这点很同意tom说的
一旦你用了,你就爱不释手
不会之前你会觉得很可怕
但其实没有那么可怕
无非是个工具,你只要理解了这些东西做什么用的
剩下的就很简单,无非做两个试验,照葫芦画瓢
先看定义,javaee的定义,摘取自wikipedia
Java EE includes several API specifications, such as JDBC, RMI, e-mail, JMS,
web services, XML, etc., and defines how to coordinate them. Java EE also
features some specifications unique to Java EE for components. These include
Enterprise JavaBeans, Connectors, servlets, JavaServer Pages and several
web service technologies. This allows developers to create enterprise
applicati... 阅读全帖 |
|
t*******e 发帖数: 684 | 16 JavaEE里面的东西除了JPA,其他都很容易上手。那个一千多页的tutorial看完,基本
就可以干点活了。反正跨平台,code到哪都能用。
EAI就比较乱。老的商业产品一大堆,完全没有设计规范,(EDI等数据规范不算)。后
来JBI出来了,很多vendor不服,tight-coupling with SOAP and BPEL。然后加了SCA/
SDO,OSGi, BPMN,WS-×××等等,到现在还是一样的局面,必须先决定用那个产品,
再学其技术。 |
|
z*******3 发帖数: 13709 | 17 没有那么多步骤了
你想太多了
对于初学者来说
想办法搞一个网络聊天室出来
包括客户端和服务器端的程序
各有一个main函数,然后在不同机器上同时启动几个客户端
聊聊看
这个能做出来,多线程,网络,swing应该能掌握个大概了
这是我当年学面向对象时候的期末考试
这个做完之后,开始玩tomcat和eclipse还有db吧
开始搭建最简单的网站吧,学会使用别人已经写好的软件产品
写一个bbs出来,这个能搞定,基本上可以去找工作了
但是明写了需要工作经验的估计还是不行,忽悠不了人
进一步,往你刚做好的那个bbs上加东西
加spring,加hibernate,换服务器,把tomcat换成jboss
然后在jboss上写ejb这些东西,最好再用上linux
这部分其实就是你刚开始工作时候需要做的东西
这个做熟了,至少混口饭吃木有问题,就算忽悠不了人
对方多半也问不死你了,这个时候就算没吃过猪肉
你也看过猪跑了
上面那个做完了之后,你要进阶了,不能停留在单系统阶段
要学会eai了,要思考多个不同系统之间的整合
这个时候,rmi, web service, xml, connector,不同的数据库... 阅读全帖 |
|
z*******3 发帖数: 13709 | 18 说一下例子
其实有一个逻辑是一定要放到ejb或者是spring core里面去的
那就是当你用struts/spring mvc封装了web服务器之后
并用hibernate/ibatis这些封装了db之后
这两个怎么连起来?
如果你只有两台物理机器,这也许还比较容易
因为直接用spring mvc里面的controller去调用hibernate的sessionfactory就好了
但是问题在于,这样做不便于扩展
因为这只有两台机器,1对1,关联只有一条线
如果是4台机器的话,2台web服务器,2台db,那么就是2*2=4条关联
如果再多一点,6台机器,3台web服务器,3台db,那么就是9条关联
……
如果这里面再参合其它的系统,比如统计的r语言,sas,.net之类的
那就麻烦大了,到最后你会彻底迷失在网状的关系中
怎么办?很简单,搞一个中间件出来
所有的系统,只能跟这一个中间件去交流,剩下的其它的系统
别管是什么系统,都不允许直接调用
也就是web服务器不允许直接调用db
不管是web服务器还是db,都只允许跟中间件做交流
这样做就容易很多,而且极其便于扩展
因为如果有新系统进... 阅读全帖 |
|
z****e 发帖数: 54598 | 19 如果真想搞back end
就要留意一下公司的规模以及职位的性质
如果是做web开发的,不妨先做着
可以骑驴找马嘛
如果能抓到back end的机会,情愿工资少一点
也先混进去,混那么一年左右,你就有资本吹了
然后再跳就很容易了,万事开头难
一般大公司肯定有back end的机会
只是不太可能对刚毕业的和没有经验的开放
因为他们能找到有经验的为什么要去找没经验的?
挖的就是那些有经验的,我也发帖在这里问过
你愿意找刚毕业的还是有经验的?
古德霸几个回答也在意料之中,作为同事
我们也愿意找有经验的,谁都愿意跟懂的人合作不是?
找工作时候看一些关键字
j2ee, ejb, jms, eai这些看上去很唬人的关键字
一般都跟back end有关
比如j2ee developer往往就是back end
而java developer就未必了
比如要求ejb的一般都是back end
但是要求spring的就未必了 |
|
z****e 发帖数: 54598 | 20 不紧凑,编译执行
不能预先读入内存是比较大的问题
unix不是script写的
话说java用了好久,jit什么才逐步解决执行效率的问题
adobe就没戏,技术跟不上
浏览器就更麻烦
用script连接小程序也有问题
效率跟不上
eai就很少用script搞 |
|
t*******e 发帖数: 684 | 21 Portal属于integration technology, 所以说是SOA in presentation layer. 概念上
和ESB,EAI接近。和html5没有overlap。 |
|
t*******e 发帖数: 684 | 22 Portal属于integration technology, 所以说是SOA in presentation layer. 概念上
和ESB,EAI接近。和html5没有overlap。 |
|
z*******3 发帖数: 13709 | 23 这也正好是patterns的三个层面
gof对应core java,不少是ui上常见的patterns,停留在单机范围内
j2ee core patterns对应的是j2ee上一些成形的规范,这个停留在多机但是单系统范围内
eai就是完全是多个系统之间的pattern了
事。 |
|
t*******e 发帖数: 684 | 24 一般都是这么搞,public api最好wrap成http web services, tunnel很少在EAI里面运
用,DMZ里面的就是个reverse proxy server, 比如apache。 |
|
t*******e 发帖数: 684 | 25 data sharing -> EAI
workflow -> BPM/Workflow Engine
These most common techniques do not make healthcare products unique.
Popular bug tracking tools all have work flow engine built-in, no exceptions. |
|
z****e 发帖数: 54598 | 26 这是理论,这会带来一系列的问题
比如接口是否存在
有些proprietary software是不提供某些语言的接口
这也很正常
然后倒腾这个接口本身也是一个很痛苦的过程
期间ide可能无法帮忙
因为很少有人这么做
这里面就有各种折腾
而且adapter是单机上的东西
一般这种情况下做integration比较合适
用eai就不需要折腾接口,或者说找一个共用的软件
比如数据库,或者一个公开的协议,比如http
会方便很多,而且decoupling
但是这样做必然会带来一个层次分离之后的效率问题 |
|
z****e 发帖数: 54598 | 27 加机器很少会加瘫
加内存会加瘫
因为每个机器都有自己的cpu,而每一个jvm的gc都是独立的
如果加机器瘫的话,不加就更瘫了
gc的时间长短跟内存heap大小有很大关系
最常见的方式是减少heap size
或者调整虚拟机的goal,强制要求gc在某一个范围内完成
另外对于大型的应用来说,ibm等大公司都提供rts jvm
而且一般来说这个费用算在websphere这种软件里面
所以会谈的话,不需要额外算钱就可以搞定
我们就在用weblogic的jrockit,但是仅在少数系统中使用
还有另外一种优化方式就是干脆在web层抛弃java
用php,然后通过eai方式集成java系统,这样可以从根本上解决jvm的gc问题
尤其是很多小的零碎的request,这种request就不要往jvm上招呼了
过于麻烦,把request挡在web层搞定,这也是google,facebook还有新浪
等大型网络应用所采取的策略
还有就是,对于多个cpu的server,ibm什么早就有了,实在不行
把单个cpu的server卖了,换多cpu的server,但就是这种server卖得不是那么好而已
而对于c... 阅读全帖 |
|
z*******3 发帖数: 13709 | 28 gof那点东西就是入门级的玩意
j2ee core pattern是中级水平
eai pattern是高级水平 |
|
|
z*******3 发帖数: 13709 | 30 java之前有企业应用
但是濒临绝境,因为维护成本随着项目的增大,呈现指数级上升
所以有了人月神话那本书,那本书也是最早软件工程这个学科的圣经
可以说也就是有了这本书之后,软件工程才真正开始发展起来
只不过有趣的是
到今天还有人以为
大型项目的问题,还跟30年前一样,以为人们还在面临着相同的问题
刻舟求剑
那本书提高了一个很经典的沟通成本的问题
就是一个面向过程的开发语言的死结
所以才有了后来的面向对象
也正是通过面向对象语言的大规模采用
才使得这种沟通成本大大降低,模块化结构化的思想深入人心
后来才有了虚拟机这个东西,有了虚拟机
就保证程序能够跑在所有的os上,至少理论上是这样
然后jdbc保证了程序能跟所有的数据库合作,hibernate等工具强化了这一合作
再通过其他手段,比如tomcat等开源工具,保证了能跟浏览器客户端浏览器的合作
还有jni提供了跟c以及c++等语言的接口
所以真正最大的glue是java
包括r什么function language都有跟java的接口
这才是java的真正威力所在
而不是什么某一个语言上的feature的好坏
只对比语言某一个featur... 阅读全帖 |
|
z****e 发帖数: 54598 | 31 这也是eai的老问题了
global transaction的死结
所以关键就在于卖不卖联程票
如果卖,那恐怕不是那么简单,要上主机
如果不卖,这个分布式可以搞定 |
|
z****e 发帖数: 54598 | 32 实际上当你定位完成之后
eai就在后面等着你了
什么esb,bpel之类的,这才是真正大师应该做的事
也就是面对一些已经存在的系统,如何整合这些系统
发挥现有系统的优势,并做出更为高级的应用
搞这些才需要master,phd这些学位
天天搞一些什么语法上的差异,boring到死
都是些初级码农天天倒腾的玩意 |
|
E*****m 发帖数: 25615 | 33 跟你抱歉一下, 我看文章和看碼一樣, 太囉唆的都跳過,
很不幸你的貼都囉唆的超過正常人類以及真神的容忍度。
你提過啥 eai 模式是吧? google 也沒有是吧?
那不就是你自己娛樂用的? 你自己樂樂吧! |
|
E*****m 发帖数: 25615 | 34 跟你抱歉一下, 我看文章和看碼一樣, 太囉唆的都跳過,
很不幸你的貼都囉唆的超過正常人類以及真神的容忍度。
你提過啥 eai 模式是吧? google 也沒有是吧?
那不就是你自己娛樂用的? 你自己樂樂吧! |
|
g*****g 发帖数: 34805 | 35 yahoo在google之前就做了搜索引擎,myspace在facebook之前就搞了社交,苹果在微软
之前就做了个人电脑。你这葡萄酸的。
design pattern本来就是实践的总结。现在提DP也不只是GoF的那些。比如有大量EAI的
pattern是这10年总结出来的。这种你不懂的东西就说没用,是最搞笑的了。 |
|
z*******3 发帖数: 13709 | 36 well
您提出的命题,我负责想解决方案
满足您要的结果
至于怎么实现的,您就不要挑剔了
不过您这么说,其实也没啥问题
一旦什么东西跟jvm挂上
就可以很容易地挂上其他东西
这就是为什么java在backend如此盛行的原因
jvm上的东西才是整个系统的核心
这就是为什么我们对于每一个层面多少都了解一点
你以为我们平常都在做什么?eai可是很大的一个工程
随便抓一个出来都顶上n个成型的startup
或者说,本来也就是这些公司在做这些事
您上次说的4个系统的集成,那是小意思,我手头这个是700多个系统的集成
剩下的您自己去思考
恭喜您,您终于入门了
JVM |
|
z*******3 发帖数: 13709 | 37 tomcat的效率的确很高,您当没看到我也没有办法
实际上java版很多人都说过tomcat的牛逼
不过估计您是不会去看的
anyway,mvc的层次有些小低,下次我们可以聊聊j2ee core pattern
或者eai pattern也可以,您说好不好? |
|
z****e 发帖数: 54598 | 38 如果我拿到这个需求
首先第一步,肯定不会马上提出什么解决方案,开始各种计算
那是书呆子的行为,当年我刚毕业时候,公司安排去拓展
有一个项目就是,给一组一堆任务,然后每一个任务都有不同权重
有些人拿到任务,不经过讨论,马上就着手阅读题目,然后开始按照题目要求做
这么做的问题就在于,有些任务权重低,但是任务本身消耗很大
所以有些人努力了半天,其实最后给组里面做出的是负贡献
鄙人其实也是其中之一,这个也没什么好否认的
但是从那以后,我做任何事情之前,都会 我慢
先别急,看清楚形势,分析后,决定优先顺序之后,再做不迟
上来就吭哧吭哧一顿做的,用当时教练的话说,都是书呆子
做事情要有的放矢,人的精力是有限的
好,那首先有了需求,然后先尽可能多地收集各种资料
其他资料也许你不会想到,但是铁道部现在有什么系统
尤其是现在有什么it系统,你总会想到吧?你不会天真地认为
这个需求就是从无到有写一个无依赖无关联的系统吧?
铁道部好歹也算是发展了几十年了,内部会没有一个正在运作的it系统?
其他不敢说,但是拍脑袋想,也能想到,里面肯定会有database
会有app server,还会有一些web serv... 阅读全帖 |
|
z****e 发帖数: 54598 | 39 我一直都在寻找一种简易的系统集成的方法
让这些脚本语言的程序员能够参与到java世界里面来
尤其是big data这一波
目前看vert.x最好
其他方法
eai太麻烦,太重量级,非专业人士不行
jvm的script engine还没做出来,鬼知道做成什么样子
反正至少没火起来,文档支持太少
所以就剩下vert.x
如果你有兴趣,针对vert.x的language扩展,做一个r的扩展的话
可能卖点会有很多
当然其本质是写一个jvm上的r引擎 |
|
z*******3 发帖数: 13709 | 40 hadoop,cassandra,aws这些又都不算了是吧?
java在企业端完全没有对手,.net勉强能够通过一些eai来挑战一下
但是近乎没戏,说到底就是没有平台支持,都是空中楼阁
ibm这些可不是吃素的,好歹也是dow30的领头羊 |
|
z****e 发帖数: 54598 | 41 看懂了vert.x,其他没有任何东西能难住你了
我说的是结构方面,然后你到企业就可以忽悠了
prototype你都懂了,剩下的差异只是一些细节罢了
不要在nodejs上纠结,那个玩意没有什么学习难度的
跟python差不多,vert.x虽然上手也很简单
但是event bus这些还是有一点点门槛的
当然它做得很简单,这是好事,学习时候
最忌讳特别难的东西卡住卡半天
vert.x随便玩,无非那么点东西,本来么
这一行就那么点东西,搞来搞去
绝对没有难度大过微积分证明的
统计都比cs难n个档次,cs那点数学都不配叫数学
那叫算术
人傻钱多,速来 |
|
l*******o 发帖数: 250 | 42 这个玩意儿,*。io经常打不开,java的基本sample还不工作 |
|
|
l*******o 发帖数: 250 | 44 not every time, but happened several times at least. Only got issues with
this site.
C:\dev\vert.x>gvim bin\vertx.bat
C:\dev\vert.x>vertx run Server.java
"C:\Java\jdk1.7.0_45/bin/java.exe" -Djava.util.logging.config.file="c:\
dev\vert.x\bin\..\conf\logging.properties" -Dvertx.home="c:\dev\
vert.x\bin\.." -Dvertx.clusterManagerFactory="org.vertx.java.spi.cluster.
impl.hazelcast.HazelcastClusterManagerFactory" -classpath ";c:\dev\
vert.x\bin\..\conf;c:\dev\vert.x\bin\..\lib\*" org.vertx.java.... 阅读全帖 |
|
p*****2 发帖数: 21240 | 45
大牛还真去试了呀?我觉得还是让别人做做小白鼠的好。 |
|
l*******o 发帖数: 250 | 46 可怕的是它首页上这个简单的sample都不能用,那个js还可以run,确实有点烂,大家
要玩的等半年再去玩,就像一年前的emberjs,很多人follow documentation都不能
work,但是还是有人去趟路 |
|