明白soa架构的概念和含义 要求用soa架构 做一个学成成绩管理系统(ASP.NET) 可完全不知道该如何用soa架构
首先我们现需要按照你的需求或者应用场景来定,如何来使用SOA架构。
第一种情况: 如果是真实需要上线的企业级应用。
目前主流的会使用微服务,微服务没有ESB总线的概念。所以我觉得你的项目可能只是毕设或者学期末的大作业。
如果是小微企业,我们可以来简单举个例子。
例: 张三家需要装修,那么张三本人如果想亲力亲为,那么他自己会去单独找水电工,木工,瓦工,油漆工...,很可能这些工人都互不认识,在实际装修过程中,那么可能就不会搭配那么好,比如说工期无法及时配合。
李四就比较想省事,直接找装修公司,装修公司会把他们手下的各种工人,工期全部安排好。至于李四想知道什么,直接打电话给装修公司,那么就可以知道所有信息,不需要出了问题找这个水电工,水电工说是木工的问题,等等。
例子中,装修公司的作用是ESB总线,每个部分将自己的工作内容,与总线交互,在SOA的概念中,用户只需要与其中一个应用(或者是总线)去联系即可。
所以你的学生成绩管理系统可以简单的画出示意图如下:
这样设计,需要创建多个应用,真实的院校网站可能有些是这样去做的,好处是,升级时候,可以只替换学校官网首页应用,或者需要添加什么应用功能时候,可以继续扩展。
第二种情况: 学校设计作业。
如果是期末大作业或者毕业设计,那么,你既然知道概念了,但是我们的系统最好还是不要做多个系统,那会有点繁琐,当然也是可以的,需要做到单点登录,才能贯穿所有的应用。
应对作业的话,建议多创建几个ClassLibrary项目,每一块的管理内容放到那个类库项目中(比如学生人员管理,成绩管理),需要使用的时候,在web项目中的controller中实例化类,并调用即可。