之前的经验大多集中于内网管理系统,把业务实现了就行,安全性、性能等基本不用考虑。技术上 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 方案,最好,不行的话,只有硬写。
- 支付接口部分,要能充值、体现。感觉很复杂。做过微信支付的小项目,支付宝支付应该也不难。各种银行卡眼花缭乱的,不过支付宝好像提供银行卡的统一接口。不知道还有没有其它风险。
- 项目基本流程跑通后,到网上买个安全监测的服务,比如乌云好像有个叫什么众测的东西不知道靠谱不靠谱,找一些安全专家测试一下,毕竟团队里面没有能专职做安全的人。