2014-11-05 47 views
0

我正在寻找一个解决方案提供一个公共的webserver宿主aspx表单和基于用户输入的XML格式的内容在电子邮件正文并将其发送到仅用于此解决方案的电子邮件地址。然后公司防火墙后面的内部系统在从电子邮件服务器检索电子邮件并从那里进行处理之后读取XML。我不认为这将是一个强有力的解决方案,并且担心维护它将只是现在取而代之,但仍有解决问题的压力。顾问设计了一个系统,使用电子邮件作为web服务

感谢

+0

这可能是关于[programmers.se]的话题。 – JJJ 2014-11-05 06:43:21

+0

OTOH它也意味着没有公共设施服务 - 取决于公司的基础设施,可能只是最好的解决方案。电子邮件在提供商处缓冲,“公司互联网”可以具有移动的IP(DSL风格)而不会受到影响。我认为这是一个“程序员希望优化解决方案忽略现实世界限制”的例子。 – TomTom 2014-11-05 07:12:16

回答

2

大多不能在不知道具体的约束判断一个架构解决方案的可能性。

在一定的限制条件下,这可能是最好的解决方案。

让我们来看看薄弱点第一:

  • 消息可能会丢失,由于无法提供邮件服务。
  • 邮件服务的邮件可能太大。 (在我的公司,我们有例如10Mb的限制。)
  • 传输时可能会损坏邮件。 (邮件服务可能会应用病毒扫描程序并夸耀这个事实,添加页脚,重命名附件等)
  • 邮件系统可能无法应对额外的负担,如果邮件流量过大。
  • 交货顺序不保证。
  • 该解决方案有点非常规。
  • 安全和其他非func可能不符合。

在另一方面:

  • 这可能是(非常实用)实现异步消息的。异步消息传递通常比同步解决方案更加强大和可靠。
  • 该解决方案使用现有的基础架构。
  • 邮件系统通常不会丢失“如此”的消息。所以我们基本上有一个可靠的持久消息存储。
  • 邮件系统通常被认为是“关键任务”,因此他们通常构建高度可靠和冗余。所以使用邮件服务实际上可能比引入一个新的软件/硬件组件更可靠更多
  • 而且便宜。
  • 可以用非常实用的方法进行测试。
  • 电子邮件有良好的图书馆支持。
  • 你不需要昂贵的专业人员来执行。

所以,想象以下约束:

  • 建立一个异步消息处理。
  • 失去一小部分消息并不是什么大不了的事情。
  • 快点。
  • 做便宜。
  • 快速和肮脏的是好的(“我们会在三个月内把它扔掉”)。

在这些限制下,这可能是一个非常好的和实用的解决方案。

要通过@techtrek解决了这一点:

    1. “更强大” - 见上面,邮件系统实际上可能比内部ESB基础设施可靠。至少这是我的经验。
    1. 同意,但不是这样有风险。无论如何,附件通常不会被损坏。否则,管理人员每次PowerPoint幻灯片损坏时都会尖叫。
  • 电子邮件服务向下 - 好,ESB或任何内部服务可能会下降,以及。
    1. 我不太明白为什么电子邮件追踪更复杂。我发送一封电子邮件,它要么到达,要么不到。如果没有,那么这是邮件服务的问题。 “复杂”相比有哪些?
    1. 那么,邮件服务管理当然是分开的,为什么这是维护头痛?我们实际上拥有所有的平台服务(数据库,服务器,ESB等),由不同的团队进行管理和维护。这是一个正常的做法,我不明白为什么它应该是一个问题在这里。相反,通过邮件服务,您可能拥有一支专门致力于该传输通道可靠性的专业团队。

坦率地说,我看到好几个ESB/MQ的解决方案,我真的认为,这将是更便宜,更方便,在实际上更加可靠,如果几个不同的应用程序将只是给每个其他电子-mails。

0

使用电子邮件作为中继代理的问题是:

  1. 创建一个Web服务,可以让您的公司的内部系统直接拦截并解析XML体系似乎更强大的对我。

  2. 在传输协议(Email)中封装XML MIME类型本身就是有风险的。

  3. 作为(2)的结果,有两个故障点(xml转换过程中的损坏)以及电子邮件服务发生故障的风险。

  4. 除了仅仅失败点之外,您还将追溯性复杂化了一个数量级。

  5. 电子邮件管理通常与Web服务的管理分离。除非有真实的,合法的否定,否则这听起来更像是维修头痛?

0

我同意已经说过的话,尤其是对第4点。应用程序和电子邮件维护可能会断开实体。

另一个方面要考虑的是TI从任何地方发送邮件到后端和洪水这种方式

相关问题