之前的经验大多集中于内网管理系统,把业务实现了就行,安全性、性能等基本不用考虑。技术上struts2+mybatis+各种其它库,写完了开个tomcat扔上去完事。各种人肉写工具类,java功底还可以。spring一直没在实际项目中应用过,文档太多,一直没下定心思研究。
这次接了一个要在互联网上运行金融类项目,把那些业务流程都实现了应该没什么问题,但不知道这里面有多少坑。求大家在架构方面给点主意,或者也可以有偿提供松散式的顾问服务也行。
业务流程不难,是个理财类的产品,什么时间买,到期给利息等等。要做网页版和Android、iOS两个App。初期用户不会太多(100?200?),业务模式验证成功后,再考虑在互联网上推广。
能投入的人力不多,只有我能在架构层面投入,并且集中投入一段时间后,就不能再全天投入了。因此也有快速开发的需求。
现在能想到的地方,大家看看想法对不对:
看看阿里云上有没有金融类的硬件解决方案,比如内外网隔离等等。感觉上应该有类似的方案,用上之后,能解决一部分安全问题。
全站https,这应该是必备的。传说性能上会有点消耗,不过感觉每年多投个几万块钱的服务器费用应该就能解决了。
数据库用mysql,引擎用innodb。买oracle估计预算不够,感觉淘宝都用mysql,我们用应该也问题不大。或者另一种方案是用阿里云的sqlserver服务,成本也不算太高。
考虑web服务化,接口用restful风格,然后网页端、两个app的大部分功能都共用接口,这样应该能减轻很大的开发压力。现在主要不清楚的地方是android和iOs对接这种web接口开发起来是不是方便。另外都说struts2过时了,如果没有好的restful方案的话也可以考虑借此机会迁到springmvc上。
app部分,之前从未有过任何经验。如果能有比较划算的hybrid app方案,最好,不行的话,只有硬写。
支付接口部分,要能充值、体现。感觉很复杂。做过微信支付的小项目,支付宝支付应该也不难。各种银行卡眼花缭乱的,不过支付宝好像提供银行卡的统一接口。不知道还有没有其它风险。
项目基本流程跑通后,到网上买个安全监测的服务,比如乌云好像有个叫什么众测的东西不知道靠谱不靠谱,找一些安全专家测试一下,毕竟团队里面没有能专职做安全的人。
先找些金融相关的开源项目研究下看看先,不会错的