关于应用程序设计的意见? [英] Opinions on application design?

查看:60
本文介绍了关于应用程序设计的意见?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在计划开发一个应用程序,这将涉及我很少有经验的技能 - 因此,我会很感激我对

初始设计思路的评论。< br $>
系统概述:


我不打算透露申请的确切目的但是目的是

吧是允许多个客户端应用程序从数据库(在数据库服务器上)检索数据,并使用它的C ++ API将此数据提供给另一个Windows

应用程序(已经提供给我)。最终可能会有数千个连接到此服务器的客户端应用程序,并且

数据库可能有数百万行。检索到的每一行数据

通常有大约5-10个字段的信息,行只能一次一个地检索
即服务器和客户端之间的每次传输

只有一行数据。

粗略的设计方案:


我计划拥有以下主要组件: -

- 源数据库

- 服务器端应用程序

- 将在Windows上运行并将使用API​​的客户端应用程序

控制同一台机器上的另一个Windows应用程序

- 数据库驱动的Web应用程序


我打算使用mySQL来制作源数据库显而易见的

许可权益。这方面很容易,因为我专注于
数据库(虽然主要是MS SQL Server)。


服务器端应用程序将用Java编写并将使用JDBC来连接数据库
。我打算在这个应用程序中实现一个缓存

,这样与来自客户端应用程序的数据

请求相比,数据库读取相对较少。

客户端应用程序可能会在数千台客户端PC上运行。

它将从服务器端应用程序请求数据,然后将其提供给

使用API​​的其他Windows应用程序。我打算用C ++编写这个

,因为API是用C ++编写的。

Web应用程序将连接到数据库并允许用户

管理数据。我可能会用PHP写这个。


问题/问题:


- 允许C ++客户端应用说话的最佳方法是什么到Java

服务器应用程序(例如请求,发送和接收数据) - SOAP怎么样?


- Java服务器端应用程序是否可以有效地处理例如10,000

同时客户端连接每个请求数据大约每一次

10秒?


- 在这些计划中,我有给Web应用程序直接连接到

源数据库。这是一个严重的安全风险,如果是这样的话,我应该采取什么措施来降低这种风险?


- 加密之间的数据传输是否容易C ++客户端应用程序和

Java服务器应用程序?

- 我应该考虑使用我的
$ b $中提到的方法吗? b粗略的设计计划?

请记住,我几乎没有编写cient-server

应用程序的经验,所以任何评论,建议,提示或相关阅读指针

材料将不胜感激。


TIA。

I am planning on developing an application which will involve skills that I
have very little experience of - therefore I would appreciate comments on my
initial design thoughts.
Overview on system:

I''m not going to divulge the exact aims of the application but the purpose
of it is to allow multiple client applications to retrieve data from a
database (on a db server) and feed this data into another Windows
application using it''s C++ API (already provided to me). There could
eventually be thousands of client apps connecting to this server, and the
database could have millions of rows. Each row of data retrieved would
typically have around 5-10 fields of information and rows would only be
retreived one at a time ie each transmission between server and client would
be only one row of data.
Rough design plans:

I plan on having the following major components:-
- The source database
- The server-side application
- The client application which will run on Windows and will use an API to
control another Windows application on the same machine
- The database driven web application

I am planning on making the source database using mySQL due to the obvious
licensing benefits. This side of things is easy to me as I specialise in
databases (although primarily MS SQL Server).

The server side application will be written in Java and will use JDBC to
connect to the database. I am planning on implementing a cache into this app
so that database reads are relatively infrequent in comparison to data
requests from the client apps.

The client-side application will potentially run on thousands of client PCs.
It will request data from the server-side app which it will then feed on to
the other Windows application using the API. I am planning on writing this
in C++ as the API is in C++

The web application will connect to the database and will allow users to
manage the data. I will probably write this in PHP.

Issues/questions:

- What is the best method to allow the C++ client app to speak to the Java
server application (e.g. request, send and receive data) - what about SOAP?

- Will a Java server-side app cope efficiently with for example 10,000
simultaneous client connections with each requesting data roughly once every
10 seconds?

- In these plans I have given the web application a direct connection to the
source database. Is this a serious security risk and if it is what steps
should I take to minimise this risk?

- Is it easy to encrypt the data transmission between the C++ client app and
the Java server app?

- Should I consider any different approaches to the ones mentioned in my
rough design plans?
Please bear in mind that I have almost no experience of writing cient-server
applications so any comments, advice, tips or pointers to relevant reading
material would be greatly appreciated.

TIA.

推荐答案

Davey写道:
我正在计划开发一个应用程序,它将涉及我很少有经验的技能 - 因此,我很感激对我的初步设计思想的评论。

系统概述:

我不打算透露应用程序的确切目标但它的目的是允许多个客户端应用程序从数据库(在数据库服务器上)检索数据,并使用它的C ++ API将这些数据提供给另一个Windows应用程序。 (已提供给我)。最终可能有成千上万的客户端应用程序连接到此服务器,而数据库可能有数百万行。检索到的每一行数据通常都有大约5-10个字段的信息,行只能一次一个地检索,即服务器和客户端之间的每次传输只会是一行数据。

粗略的设计方案:

我计划拥有以下主要组件: -
- 源数据库
- 服务器端应用程序
- 将在Windows上运行的客户端应用程序将使用API​​来控制同一台计算机上的另一个Windows应用程序
- 数据库驱动的Web应用程序

我我计划使用mySQL制作源数据库,因为它具有明显的许可优势。这方面很容易,因为我专注于数据库(虽然主要是MS SQL Server)。

服务器端应用程序将用Java编写,并将使用JDBC来实现>连接到数据库。我计划在这个应用程序中实现一个缓存
,以便与来自客户端应用程序的数据请求相比,数据库读取相对较少。

客户端应用程序可能会在数千台客户端PC上运行。
它将从服务器端应用程序请求数据,然后它将使用API​​提供给其他Windows应用程序。我打算用C ++编写这个
,因为API是用C ++编写的。

Web应用程序将连接到数据库并允许用户管理数据。我可能会用PHP编写这个。

问题/问题:

- 允许C ++客户端应用程序与Java服务器通信的最佳方法是什么?应用程序(例如请求,发送和接收数据) - SOAP怎么样?

- Java服务器端应用程序是否能够有效地处理例如10,000个同时客户端连接,每个请求数据大致一次每个
10秒?

- 在这些计划中,我已经将Web应用程序与
源数据库直接连接。这是一个严重的安全风险吗?如果我应采取哪些步骤来最大限度地降低这种风险?

- 加密C ++客户端应用程序和
Java服务器应用程序?

- 我应该考虑采用我粗略设计计划中提到的方法吗?

请记住我有几乎没有编写cient-server
应用程序的经验,所以任何评论,建议,提示或相关阅读材料的指示都将不胜感激。

TIA。
I am planning on developing an application which will involve skills that I
have very little experience of - therefore I would appreciate comments on my
initial design thoughts.
Overview on system:

I''m not going to divulge the exact aims of the application but the purpose
of it is to allow multiple client applications to retrieve data from a
database (on a db server) and feed this data into another Windows
application using it''s C++ API (already provided to me). There could
eventually be thousands of client apps connecting to this server, and the
database could have millions of rows. Each row of data retrieved would
typically have around 5-10 fields of information and rows would only be
retreived one at a time ie each transmission between server and client would
be only one row of data.
Rough design plans:

I plan on having the following major components:-
- The source database
- The server-side application
- The client application which will run on Windows and will use an API to
control another Windows application on the same machine
- The database driven web application

I am planning on making the source database using mySQL due to the obvious
licensing benefits. This side of things is easy to me as I specialise in
databases (although primarily MS SQL Server).

The server side application will be written in Java and will use JDBC to
connect to the database. I am planning on implementing a cache into this app
so that database reads are relatively infrequent in comparison to data
requests from the client apps.

The client-side application will potentially run on thousands of client PCs.
It will request data from the server-side app which it will then feed on to
the other Windows application using the API. I am planning on writing this
in C++ as the API is in C++

The web application will connect to the database and will allow users to
manage the data. I will probably write this in PHP.

Issues/questions:

- What is the best method to allow the C++ client app to speak to the Java
server application (e.g. request, send and receive data) - what about SOAP?

- Will a Java server-side app cope efficiently with for example 10,000
simultaneous client connections with each requesting data roughly once every
10 seconds?

- In these plans I have given the web application a direct connection to the
source database. Is this a serious security risk and if it is what steps
should I take to minimise this risk?

- Is it easy to encrypt the data transmission between the C++ client app and
the Java server app?

- Should I consider any different approaches to the ones mentioned in my
rough design plans?
Please bear in mind that I have almost no experience of writing cient-server
applications so any comments, advice, tips or pointers to relevant reading
material would be greatly appreciated.

TIA.



TIA,听起来你咬得比你嚼得多。

你的应用程序和数据库的连接量

压力大多数技术。如此大的架构任务如何被分配给没有经验的人?


TIA, it sounds like you''ve bitten off more than you can chew.
Your volume of connections both to your app and to the database
stress most technologies. How did such a large architecture task
get assigned to somebody without experience?


Wibble写道:
Wibble wrote:
如何将这么大的架构任务分配给没有经验的人?
How did such a large architecture task
get assigned to somebody without experience?




这并不总是_assignment_的问题。也许他是一个企业家

自己发明一些东西。我一直在那个位置而且你这样做。
必须伸出自己。你不能雇人来做这些事情

你至少得到一个概念证明你不会擅长...所以

你学得很快。



It''s not always a matter of _assignment_. Maybe he''s an entrepreneur
inventing something on his own. I''ve been in that position and you do
have to stretch yourself out. You can''t hire someone to do the things
you aren''t expert at till you at least have a proof of concept ... so
you learn fast.


Davey写道:
- Java服务器端应用程序是否能够有效地处理例如10,000个/或同时的客户端连接每隔10秒钟大约一次请求数据?


Tomcat web服务器(java)肯定非常快,所以它是一个不错的选择。

- 在这些计划中我直接给了web应用程序连接到源数据库。这是一个严重的安全风险吗?如果我应该采取哪些措施来降低这种风险?


如果你正确使用你的网络应用程序,你就不会有安全风险。

无论如何,定期备份总是一个好主意。

- 加密C ++客户端应用程序和Java服务器应用程序之间的数据传输是否容易?


是的,您可以在Tomcat Web服务器中使用HTTPS。

请记住,我几乎没有编写cient-server的经验
申请,所以任何评论,建议,提示或指向相关阅读材料将不胜感激。
- Will a Java server-side app cope efficiently with for example 10,000
simultaneous client connections with each requesting data roughly once every
10 seconds?
Tomcat web server (java) is definitily very fast, so it is a good choice.
- In these plans I have given the web application a direct connection to the
source database. Is this a serious security risk and if it is what steps
should I take to minimise this risk?
If you make your web application properly, you won''t have security risk.
Anyway, regularly backup is always a good idea.
- Is it easy to encrypt the data transmission between the C++ client app and
the Java server app?
Yes, you can use HTTPS inside Tomcat web server.
Please bear in mind that I have almost no experience of writing cient-server
applications so any comments, advice, tips or pointers to relevant reading
material would be greatly appreciated.




RTFM。



RTFM.


这篇关于关于应用程序设计的意见?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆