¿Qué es la plataforma móvil? No sé si te gusta esta plataforma.
1 Objetivos de diseño
Basado en la plataforma J2EE, utilizando tecnología orientada a componentes para realizar el desarrollo, operación, gestión, monitoreo y mantenimiento de aplicaciones de nivel empresarial, un Plataforma de middleware que extrae lecciones de SSH Funciones comunes de los componentes de la arquitectura MVC (Struts, Spring, Hibernate)
El acceso a las funciones del sistema se controla en función del rol (posición) del usuario. Diferentes roles tienen diferentes permisos de acceso a las funciones. Los administradores asignan una lista de operaciones permitidas a cada rol;
Controlar el acceso a los recursos del sistema según el grupo (departamento) del usuario. Los recursos del sistema incluyen archivos, directorios y tablas de datos; los propietarios pueden asignar derechos de acceso a los recursos del sistema a diferentes grupos de usuarios;
Registros de acceso. Cada vez que un usuario accede al sistema, se registrará el acceso a los recursos, es decir, se registrarán el nombre de usuario, la hora de acceso, la dirección IP, la función de acceso (URL), los recursos accedidos (archivos), etc. los mensajes se registran en detalle;
Logra un mecanismo de carga/exportación de importación/exportación de datos multiformato, es decir, se puede exportar a Excel, PDF, RTF, Html y se pueden importar metadatos a la base de datos. de acuerdo con la plantilla de Excel para lograr actualizaciones de datos por lotes;
El sistema determina automáticamente si la información debe alarmar o avisar de acuerdo con las reglas establecidas (por ejemplo, si los datos de flete caducan) y retroalimenta al negocio. procesar los resultados al personal relevante, etc.
Admite idiomas duales en inglés y chino;
2 soluciones técnicas
En términos generales, el concepto de diseño MVC se implementa utilizando una arquitectura técnica multicapa, que es dividido en base de datos Oracle, capa de acceso a objetos de datos Hibernate de código abierto (modelo), capa de gestión de servicios del sistema y control de transacciones de tecnología Spring de código abierto (servicio de servicio), capa de controlador Struts de código abierto (controlador) y capa de control de acceso y filtrado de contenido (filtro). ) usando el filtro de servlet. Arriba está la capa de presentación de la página Html + Flex (Ver).
Después de que la capa de presentación HTML + Flex envía una solicitud, debe ser interceptada por el filtro de servlet.
1) Verificar la legalidad del acceso. > 2) Al mismo tiempo, pruebe y convierta los datos de la página a codificación I18N internacionalizada, etc.
Las solicitudes enviadas por la capa de presentación HTML + Flex deben ser procesadas por el filtro de servlet y entregadas al ActionServlet de la capa del controlador Struts para el control del flujo de la página y el procesamiento lógico de la solicitud y la respuesta. Durante el procesamiento, generalmente se llama a las API en las capas de gestión de servicios y control de transacciones de Spring.
En la capa de gestión de servicios y control de transacciones de Spring, el sistema controla la integridad de las transacciones de acceso al sistema y la coherencia de los datos, ejecuta lógica empresarial específica y procesamiento de datos, y obtiene resultados de procesamiento, que se utilizarán cuando necesario. Los resultados se envían a la persona que llama (Servlet/HTML) para responder al usuario. En este momento, durante el procesamiento de datos, se llamará a los objetos de datos de la capa de acceso a objetos de datos de Hibernate para implementar actualizaciones de datos y consultas de la base de datos Oracle.
El trabajo colaborativo/llamadas mutuas entre cada capa es el siguiente:
Además de encapsular la arquitectura técnica y las especificaciones de desarrollo anteriores, carga/descarga, correo electrónico, programación, portal, etc. También se deben desarrollar componentes para cumplir con los requisitos funcionales y técnicos del sistema:
La plataforma BysArchitecture tiene componentes integrados de administración de menús del portal, componentes de correo electrónico y componentes de carga/descarga de archivos en la capa de servicio. hay organizaciones, cuentas, permisos y flujos de trabajo, temporizador y componentes de programación. Estos componentes no requieren desarrollo y se pueden llamar y usar directamente en cualquier momento.
3 Implementación de tecnología clave
3.1 Control de permisos de función de operación del sistema basado en roles
El sistema tiene múltiples conjuntos de funciones, y cada conjunto de funciones forma una interfaz elemento de menú; la función del grupo se divide en varios subgrupos, formando un nodo de carpeta en el árbol del directorio de funciones; cada subgrupo contiene múltiples puntos de función de operación.
Cada rol en el sistema equivale a un puesto en una organización real. Un usuario puede tener más de una posición y se le debe asignar más de un "rol" en el sistema. De esta manera, un usuario en el sistema tiene más de un rol y cada rol tiene un conjunto de listas de funciones operables; . Cada rol tiene una lista de funciones operables, por lo que cada usuario obtiene su propia lista de funciones operables y solo puede acceder a aquellas funciones que se le asignaron para el rol que desempeña.
3.2 Control de acceso a recursos basado en filtrado de contenido
Se establece el mecanismo de control de acceso a recursos basado en filtrado de contenido primero, divide a los usuarios en propietarios, grupos y otros usuarios que crean carpetas o archivos automáticamente; como "propietario" del recurso. El propietario tiene el derecho inicial de asignar permisos de acceso al recurso;
El propietario puede asignarse permisos de lectura, escritura y ejecución a sí mismo, a todos los miembros del grupo de cuentas y a otros usuarios, respectivamente. Permisos "Ejecutar" (r/w/e) para usted mismo, todos los miembros del grupo de cuentas y otros usuarios.
Por lo tanto, para un archivo o tabla de datos, siempre hay un campo de valor de atributo de control de acceso adjunto, y diferentes combinaciones de valores representan diferentes permisos (r/w/e) para diferentes identidades (propietarios/grupos/otros). ) ). Por ejemplo, el valor del atributo de permiso de form01 es "0620", lo que significa: 1) El propietario tiene derecho a leer y escribir en form01 (0400200), el grupo del propietario tiene derecho a escribir en form01 (0020) y otros usuarios no tienen el formulario de visita correcto 01 (otro). form01 no tiene ningún permiso (0400 significa que el propietario lee + 0200 significa que el propietario escribe + 0020 significa que el grupo puede escribir + 0000 significa que otros usuarios no tienen acceso = 0620).
Este es un mecanismo de control de permisos muy maduro en el sistema operativo Unix, y mantener los permisos es muy simple y efectivo.
Configuración de atributos de permisos basada en filtrado de contenido y tabla de descripción:
Ciertos tipos de resultados de valores de atributos de usuarios
El usuario 0400 permite que el propietario lea.
0200 Permitir al propietario escribir.
0100 Para archivos, permita que el propietario ejecute; para directorios, permita que el propietario busque en el directorio.
El grupo 0040 permite la lectura por parte de los miembros del grupo.
0020 Permitir que los miembros del grupo escriban.
0010 Para archivos, permita que los miembros del grupo se ejecuten; para directorios, permita que los miembros del grupo busquen en el directorio.
Otros usuarios 0004 Permitir que otros usuarios lean.
0002 Permitir que otros usuarios escriban.
0001 Para archivos, permita que otros usuarios ejecuten; para directorios, permita que otros usuarios busquen en el directorio.
Por ejemplo, para establecer permisos de lectura y escritura para otros usuarios, puede agregar 0004 a 0002 para generar 0006. Se pueden realizar operaciones similares para usuarios y grupos, donde puede sumar tres totales para generar un patrón de valor completo.
Leer: consultar, exportar;
Escribir: crear, actualizar, eliminar, importar
Ejecutar: operación en segundo plano.
3.3 Buen soporte para registros
Utilice la tecnología Spring AOP para implementar registros detallados. Este sistema se refleja principalmente en las funciones de registro de inicio de sesión, registro de entrada de carga, tasa de uso de consultas de carga y otras funciones.
Además, el filtro de Servlet permite a los usuarios acceder a los recursos cada vez que acceden al sistema, es decir, nombre de usuario, hora de acceso, dirección IP, función accedida (URL) y recursos accedidos (archivos). Regístrelo sin excepción. Al mismo tiempo, no es necesario desarrollar funciones de registro para cada módulo funcional, sino gestión de registros unificada y registro detallado de errores e información de errores;
3.4 Sistema de autenticación de identidad
p>
Ya sea un objeto de cadena (contraseña/ID de sesión), una huella digital de transmisión, un certificado digital o un objeto de flujo de archivos, se abstrae en un objeto Objeto en el filtro de la arquitectura técnica, el objeto Objeto. y el tipo de objeto se pasan como parámetros al objeto de "autenticación". Para el acceso no autenticado, se devolverá una página de error o de mensaje al navegador; para el acceso autenticado, se pasará al ActionServlet para su posterior procesamiento.
Por lo tanto, la abstracción de la tecnología de identificación se realiza para que el sistema tenga la capacidad de identificar varios tipos de objetos, como contraseñas de usuario, certificados digitales, marcas de tiempo, huellas dactilares, etc.
3.5 Mecanismo de carga/exportación
Utilice el componente FileUpload proporcionado por la famosa organización de código abierto Apache para lograr la carga de archivos y utilice el proyecto avanzado de código abierto de la industria JasperReport para lograr la exportación de datos en múltiples formatos, incluidos Excel, PDF, RTF, Html, etc.
3.5 Mecanismo de Carga/Exportación
Este sistema se basa en un conjunto de componentes de código abierto.
3.6 Mecanismo de alerta temprana, recordatorio y retroalimentación
El sistema determina automáticamente si la información debe alarmar o avisar de acuerdo con las reglas establecidas (por ejemplo, los datos de flete caducan) y alimenta devolver los resultados del procesamiento comercial al personal relevante.
Diseñe la clase de alarma y la clase de interfaz de alarma. La clase de negocio implementa la interfaz y llama al método de interfaz para pasar el objeto de mensaje a la clase de alarma. La clase de alarma lo procesa y lo envía al usuario de acuerdo con el. situación específica.
Los componentes del temporizador y del programador de tareas admiten la configuración del intervalo de tiempo para ejecutar programas de advertencia y alarma en segundo plano en el sistema, como cada minuto, una determinada hora del día, una determinada hora del mes y una determinado mes del año, etc. para comprobar los límites de advertencia y alerta. Las alertas se pueden enviar por correo electrónico, mensaje de texto y ventana emergente. Por supuesto, también puedes integrar alertas de MSN.
3.7 Implementación de tecnología de control de transacciones
Para el acceso entre sistemas, se utilizan llamadas directas asincrónicas de preguntas y respuestas, y se realizan el procesamiento lógico y de confiabilidad correspondiente en función de los resultados devueltos. No se realizan transacciones entre sistemas.
La gestión de transacciones de acceso a la base de datos local adopta una gestión de transacciones de hibernación basada en el soporte JDBC.
La gestión de transacciones para el acceso a la base de datos local utiliza una gestión de transacciones basada en JDBC compatible con hibernación.
3.8 Implementación de tecnología multilingüe internacional
Tanto Flex como JAVA admiten codificación internacional y configuración de recursos internacionales, y ambos pueden establecer conjuntos de atributos locales y cargar atributos de idioma en tiempo de ejecución. una interfaz bilingüe en chino e inglés.
4 Tecnología de vanguardia
4.1 Flex
Desde que la arquitectura B/S se hizo popular rápidamente, nos hemos enfrentado a cómo lograr la misma precisión que la arquitectura C/S. Cuestiones de control de la capa de presentación y buena experiencia de usuario. Nació RIA (Aplicación de Internet enriquecida).
¿Qué es un RIA?
Funciones Web diferenciadas
Menores costes de mantenimiento
Menores costes de aprendizaje
Mejor experiencia de usuario
p>Más potente interfaz de usuario
Mejor interactividad
Modelo de desarrollo más avanzado
Funciones multimedia más potentes
Mejor gestión de datos
Mejor control del programa
4.1.1 Ventajas
Intuitivamente, la experiencia de usuario más obvia es:
p>Es más interactiva que los sitios web tradicionales. La interfaz de usuario casi puede considerarse como un entorno interactivo multimedia de sonido, luz y sombra.
El mecanismo de implementación de la tecnología reduce la carga en el servidor, que es diferente de la mejora y optimización del servidor. Es una solución de mejora del rendimiento a nivel de plataforma.
Si el cliente se desconecta durante la transmisión de datos, la información en línea sigue ahí. Esto es similar a algunas ventajas de las especificaciones técnicas de la web 2.0.
La primera vez que visite un sitio web flexible, la velocidad será ligeramente más lenta que la de un sitio web tradicional, pero si visita el sitio web varias veces, la próxima vez que visite el sitio web, la velocidad definitivamente aumentará. será más rápido que el de un sitio web tradicional, porque la parte de actualización sin datos del usuario La experiencia se ha descargado al cliente local.
4.1.2 El caso de negocio para Flex
Mercado de valores Nasdaq
Análisis de gastos de SAP
HP Print Studio
Google Searchmash
Análisis financiero de la banca en línea de China Merchants Bank
Yahoo Map System
Relevo de la antorcha olímpica de 2008 a mi hogar: Juegos Olímpicos de Sohu
AOL, eBay, PayPal, Business Objects, SAP
4.1.3 El caso de negocio de Flex
4.1.4 El caso de negocio de Flex
4.1 .5 Caso de negocio para Flex 2 JasperReport
JasperReports es una poderosa herramienta de generación de informes capaz de describir contenido enriquecido en la pantalla, impresora o archivos PDF, EXCEL, HTML, XLS, CSV y XML.
Escrito íntegramente en Java, se puede utilizar en una variedad de aplicaciones Java, incluidas aplicaciones J2EE o WEB, para generar contenido dinámico. Su objetivo principal es ayudar a crear páginas orientadas de una forma sencilla y flexible.
La organización JasperReports recibe datos de una base de datos relacional a través de JDBC en función del diseño del informe definido en un archivo XML. Para completar un informe con datos, primero se debe compilar el diseño del informe. De hecho, compilar un diseño de informe significa compilar todas las expresiones Java definidas en el archivo XML que describe el diseño del informe. Para comprobar la coherencia del diseño del informe, se realizan varias pruebas durante la compilación. Los resultados de la compilación se completarán en el diseño del informe y luego el diseño del informe se utilizará para generar documentos con diferentes conjuntos de datos
JasperReports es un sistema estable y de alto rendimiento que ha sido probado durante muchos años y es compatible con una variedad de formatos de archivos de exportación (archivos PDF, EXCEL, HTML, XLS, CSV y XML) y puede integrarse en programas java, por lo que es un sistema estable que puede utilizar para escribir sistemas.
4.3 Apache FileUpload
La tecnología del componente FileUpload lanzada por la famosa organización de código abierto Apache puede cargar uno o más archivos y también puede recibir datos de formularios normales.
La información del progreso de los archivos cargados se puede enviar a la persona que llama a través de la tecnología de transmisión, lo que permite a los usuarios monitorear el progreso de los archivos cargados y brindar comentarios sobre las causas y los problemas, lo cual es muy amigable.
Después de muchos años Probado y mejorado en innumerables aplicaciones de sistemas en todo el mundo, se ha convertido en un componente maduro, estable y de alto rendimiento. Puede establecer límites de tamaño de archivos de carga y optimizar la velocidad de transmisión y el rendimiento de los archivos cargados a través de la tecnología de transmisión;
Usando Flex y Apache FileUpload juntos, los usuarios pueden ver claramente la velocidad de carga y el rendimiento a través de la interfaz Flash del navegador. Cualquier problema que pueda surgir.