Buscando un diseño de programa de reenvío de enrutador
Java es el nombre general del lenguaje de programación Java (en adelante, lenguaje Java) y la plataforma Java lanzada por Sun Microsystems en mayo de 1995. El navegador HotJava implementado en Java (que admite subprogramas de Java) demuestra el encanto de Java: computación web e Internet dinámica y multiplataforma. Desde entonces, Java ha sido ampliamente aceptado y ha promovido el rápido desarrollo de la Web. Ahora los navegadores de uso común admiten subprogramas de Java. Por otro lado, la tecnología Java también se actualiza constantemente.
La plataforma Java consta de la máquina virtual Java y la interfaz de programación de aplicaciones (API) Java. La interfaz de programación de aplicaciones Java proporciona una interfaz estándar para aplicaciones Java que es independiente del sistema operativo y se puede dividir en una parte básica y una parte de extensión. Una vez instalada la plataforma Java en el hardware o en la plataforma del sistema operativo, las aplicaciones Java están listas para ejecutarse. Ahora la plataforma Java se ha integrado en casi todos los sistemas operativos. De esta forma, los programas Java se pueden compilar una vez y ejecutar en varios sistemas. La interfaz de programación de aplicaciones Java ha evolucionado desde la versión 1.1.xa la versión 1.2. La plataforma Java más utilizada actualmente se basa en Java1.4 y la última versión es Java1.6.
Java se divide en tres sistemas: JavaSE, javaee y javame.
java 3d
El lenguaje Java es un lenguaje de programación orientado a objetos que soporta la computación en red. El lenguaje Java absorbe las ventajas del lenguaje Smalltalk y el lenguaje C y agrega otras características, como soporte de programación concurrente, comunicación de red, control de datos multimedia, etc. Las características principales son las siguientes:
El lenguaje Java es muy sencillo. La sintaxis del lenguaje Java es muy similar a la sintaxis del lenguaje C y al lenguaje C, lo que facilita que la mayoría de los programadores aprendan y utilicen Java. Por otro lado, Java abandona aquellas características de C raramente utilizadas, difíciles de entender y confusas, como la sobrecarga de operadores, la herencia múltiple y las conversiones automáticas. En particular, el lenguaje Java no utiliza punteros y proporciona recolección automática de basura, por lo que los programadores no tienen que preocuparse por la administración de la memoria.
El lenguaje Java está orientado a objetos. El lenguaje Java proporciona primitivos como clases, interfaces y herencia. En aras de la simplicidad, solo se admite la herencia única entre clases, la herencia múltiple entre interfaces y el mecanismo de implementación entre clases e interfaces (la palabra clave es implements). El lenguaje Java es totalmente compatible con el enlace dinámico, mientras que el lenguaje C solo utiliza el enlace dinámico para funciones virtuales. En resumen, el lenguaje Java es un lenguaje de programación puramente orientado a objetos.
3) Se distribuye el lenguaje Java. El lenguaje Java soporta el desarrollo de aplicaciones de Internet. Hay una interfaz de programación de aplicaciones de red (java.net) en la interfaz de programación de aplicaciones Java básica, que proporciona una biblioteca de clases para la programación de aplicaciones de red, que incluye URL, URLConnection, Socket, ServerSocket, etc. El mecanismo RMI (activación de método remoto) de Java también es un medio importante para desarrollar aplicaciones distribuidas.
4) El lenguaje Java es robusto. El sólido mecanismo de escritura de Java, el manejo de excepciones y la recolección automática de basura son garantías importantes para la solidez de los programas Java. Descartar punteros es una buena elección para Java. El mecanismo de verificación de seguridad de Java hace que Java sea más robusto.
5) El lenguaje Java es seguro. Java se usa comúnmente en entornos de red. Para ello, Java proporciona un mecanismo de seguridad para evitar ataques de códigos maliciosos. Además de las muchas características de seguridad del lenguaje Java, Java tiene un mecanismo de protección de seguridad (ClassLoader) para las clases descargadas a través de la red, como asignar diferentes espacios de nombres para evitar que las clases locales sean reemplazadas con los mismos nombres, verificar códigos de bytes y proporcionar Aplicaciones Java con un mecanismo de gestión de seguridad (Class SecurityManager) para configurar la protección de seguridad.
6) El lenguaje Java es neutral en cuanto a arquitectura.
Los programas Java (archivos con el sufijo Java) se compilan en la plataforma Java en un formato de código de bytes independiente de la arquitectura (archivos con el sufijo de clase), que luego se puede ejecutar en cualquier sistema que implemente esta plataforma Java. Este enfoque es adecuado para entornos de red heterogéneos y distribución de software.
7) El lenguaje Java es portátil. Esta portabilidad proviene de la neutralidad arquitectónica. Además, Java también regula estrictamente la longitud de cada tipo de datos básico. El sistema Java en sí tiene una gran portabilidad. El compilador de Java está implementado en Java y el entorno de ejecución de Java está implementado en ANSI C.
8) Se interpreta el lenguaje Java. Como se mencionó anteriormente, los programas Java se compilan en formato de código de bytes en la plataforma Java y luego se pueden ejecutar en cualquier sistema que implemente esta plataforma Java. En tiempo de ejecución, el intérprete de Java en la plataforma Java interpreta y ejecuta estos códigos de bytes, y las clases requeridas durante la ejecución se cargan en el entorno de ejecución durante la fase de unión.
9) Java es de alto rendimiento. En comparación con los lenguajes de secuencias de comandos interpretados de alto nivel, Java es realmente de alto rendimiento. De hecho, con el desarrollo de la tecnología de compilación JIT (Just-In-Time), la velocidad de ejecución de Java se acerca cada vez más a la de C.
10) El lenguaje Java es multiproceso. En el lenguaje Java, un hilo es un objeto especial que debe ser creado por la clase Thread o sus subclases. Por lo general, hay dos formas de crear un hilo: una es usar el constructor de tipo Thread (Runnable) para envolver un objeto con la interfaz Runnable en un hilo, la otra es derivar una subclase de la clase de hilo, anular el método de ejecución; y use El objeto creado por esta subclase es un hilo. Vale la pena señalar que la clase Thread implementa la interfaz Runnable, por lo que cualquier hilo tiene su método de ejecución, que contiene el código que el hilo desea ejecutar. La actividad de un hilo está controlada por un conjunto de métodos. El lenguaje Java admite la ejecución simultánea de múltiples subprocesos y proporciona un mecanismo de sincronización entre múltiples subprocesos (la palabra clave está sincronizada).
11) Java es dinámico. Uno de los objetivos de diseño del lenguaje Java es adaptarse a entornos dinámicos. Las clases requeridas por los programas Java se pueden cargar dinámicamente en el entorno de ejecución o a través de la red. Esto también facilita las actualizaciones de software. Además, las clases en Java tienen una representación en tiempo de ejecución y el tipo se puede verificar en tiempo de ejecución.
Las excelentes características del lenguaje Java hacen que las aplicaciones Java sean extremadamente robustas y confiables, lo que también reduce el costo de mantenimiento del sistema de aplicaciones. El soporte integral de Java para la tecnología de objetos y la API integrada en la plataforma Java puede acortar el tiempo de desarrollo de los sistemas de aplicaciones y reducir los costos. Java se puede compilar una vez y ejecutar en cualquier lugar, lo que le permite proporcionar una estructura abierta que se puede utilizar en cualquier lugar y una forma económica de transferir información entre múltiples plataformas. En particular, Java Enterprise API proporciona tecnologías relevantes y bibliotecas ricas para sistemas de aplicaciones de comercio electrónico y computación empresarial.
1) JDBC (Java Database Connectivity) proporciona una interfaz unificada para conectar varias bases de datos relacionales.
2) EJB (Enterprise JavaBeans) facilita a los desarrolladores la creación, implementación y gestión de aplicaciones empresariales multiplataforma basadas en componentes.
3) Java RMI (Java Remote Method Invocation) se utiliza para desarrollar aplicaciones Java distribuidas. La máquina virtual Java remota puede llamar a métodos de objetos Java. De esta manera, la activación remota del método puede ocurrir en ambos lados del par, o entre el cliente y el servidor, siempre que ambas aplicaciones estén escritas en Java.
4) Java IDL (Lenguaje de definición de interfaz Java) proporciona una interoperabilidad incomparable con CORBA (Arquitectura de agente de solicitud de objetos común). Esto permite a Java integrar recursos de información empresarial heterogéneos.
5) JNDI (Java Naming and Directory Interface) proporciona acceso desde la plataforma Java a. Esta interfaz bloquea varios servicios de directorio y nombres utilizados por las redes corporativas.
6) JMAPI (Java Management API) proporciona un rico conjunto de objetos y métodos para el desarrollo de la gestión de sistemas, redes y servicios en redes heterogéneas.
7) JMS (Java Message Service) proporciona servicios de mensajería empresarial, como colas de mensajes confiables, comunicaciones de publicación y suscripción y todos los aspectos de la tecnología push/pull.
8) JTS (Servicio de transacciones Java) proporciona un estándar abierto para acceder a recursos de transacciones, incluidas aplicaciones de transacciones, gestión y monitoreo de transacciones.
En la tecnología Java, JavaBeans también merece atención. Es una arquitectura de componentes estándar abierta que es independiente de la plataforma pero utiliza el lenguaje Java. Un JavaBean es una clase Java que se ajusta a la especificación JavaBeans y normalmente define cosas o conceptos en el mundo real. Las características principales de JavaBeans incluyen propiedades, métodos y eventos. Generalmente, en un entorno de desarrollo que admita la especificación JavaBeans (como Sun Java Studio e IBM VisualAge para Java), puede realizar operaciones visuales en JavaBeans o utilizar JavaBeans para construir nuevos JavaBeans. La ventaja de JavaBeans también radica en la portabilidad que ofrece Java. Ahora, EJB (Enterprise JavaBeans) extiende el concepto de JavaBeans a la arquitectura de componentes del servidor Java para admitir aplicaciones de objetos distribuidos multicapa. Además de JavaBeans, las arquitecturas de componentes típicas incluyen DCOM y CORBA, y una discusión en profundidad de estas arquitecturas de componentes está fuera del alcance de este libro.
Proyecto Java Open Source
Spring Framework Java Open Source J2EE Framework
Spring es un potente framework que resuelve muchos problemas comunes en el desarrollo J2EE. Spring proporciona una forma coherente de gestionar objetos comerciales y fomenta la buena práctica de inyectar interfaces de programación en lugar de clases. La base arquitectónica de Spring se basa en la inversión de contenedores de control utilizando propiedades de JavaBean. Sin embargo, esto es sólo una parte del panorama: Spring es único en el uso del contenedor IoC como una solución completa que se centra en todas las capas arquitectónicas después de la construcción. Spring proporciona una abstracción de acceso a datos única, incluido un marco JDBC simple y eficiente, que mejora enormemente la eficiencia y reduce posibles errores. La arquitectura de acceso a datos de Spring también se integra con Hibernate y otras soluciones de mapeo O/R. Spring también proporciona una abstracción de gestión de transacciones única que proporciona un modelo de programación coherente en varias tecnologías de gestión de transacciones subyacentes, como las transacciones JTA o JDBC. Spring proporciona un marco AOP escrito en el lenguaje Java estándar, que proporciona gestión de transacciones declarativas y otros asuntos empresariales para POJO; también puede implementar sus propios aspectos si es necesario. Este marco es lo suficientemente potente como para que las aplicaciones puedan escapar de la complejidad de los EJB y disfrutar de los servicios clave asociados con los EJB tradicionales. Spring también proporciona un marco web MVC potente y flexible que se puede integrar con contenedores IoC. Spring IDE: complemento de desarrollo auxiliar SpringIDE: plataforma Eclipse.
Marco web de código abierto WebWork Java
WebWork es un marco web J2EE con un patrón MVC extraíble. Está desarrollado por la organización OpenSymphony y está comprometido con la componenteización y la reutilización de código. La última versión de WebWork es 2.1. El WebWork2.x actual fue desarrollado por Rickard Oberg, pero el WebWork actual se ha dividido en dos proyectos: Xwork1 y WebWork2.
Xwork es simple, flexible y poderoso. Es una implementación de patrón de comando estándar y está completamente separada de la capa web. Xwork proporciona muchas características principales: interceptores de front-end, validación de atributos de formulario en tiempo de ejecución, conversión de tipos, potente lenguaje de expresión (OGNL - lenguaje de notación de gráficos de objetos), contenedores IoC (inversión de control) y más. WebWork2 se basa en Xwork, que maneja respuestas y solicitudes HTTP. WebWork2 utiliza ServletDispatcher para asignar solicitudes HTTP a parámetros de acción (clase de operación de capa empresarial), sesión (aplicación) y solicitud. WebWork2 admite representación de múltiples vistas y la parte de vista puede usar JSP, Velocity, Freemarker, JasperReports, XML, etc. WebWork2.2 basado en DWR y Dojo agrega soporte AJAX. EclipseWork: complemento de Eclipse para desarrollo asistido por red.
Marco web de código abierto Struts Java
Struts es un marco MVC basado en la plataforma Sun J2EE, implementado principalmente a través de tecnología Servlet y JSP. Struts ha atraído mucha atención el año pasado porque puede satisfacer plenamente las necesidades del desarrollo de aplicaciones, es simple y fácil de usar, ágil y rápido. Struts integra Servlets, JSP, etiquetas personalizadas y recursos de mensajes en un marco unificado. Los desarrolladores no necesitan codificarse ellos mismos para implementar un conjunto completo de patrones MVC durante el desarrollo, lo que ahorra mucho tiempo. Lado de Struts: complemento de Eclipse para desarrollo asistido por Struts
Marco de capa de persistencia de código abierto Hibernate Java
Hibernate es un marco de mapeo relacional de objetos de código abierto que utiliza un método muy liviano. Encapsula JDBC para que los programadores de Java puedan utilizar el pensamiento de programación de objetos para manipular la base de datos a voluntad. Hibernate se puede utilizar en cualquier situación en la que se utilice JDBC, no sólo en programas cliente Java sino también en aplicaciones web Servlet/JSP. Lo más revolucionario es que en la arquitectura J2EE que usa EJB, Hibernate puede reemplazar a CMP para completar la tarea de persistencia de datos. Herramientas de desarrollo auxiliares de Hibernate bajo la plataforma Eclipse: Leyenda de sincronización de Hibernate
Programación de trabajos de código abierto de Quartz Java
Quartz es otro proyecto de código abierto en el campo de la programación de trabajos de la organización de código abierto OpenSymphony . Se puede utilizar junto con aplicaciones J2EE y J2SE o solo. Quartz se puede utilizar para crear programaciones diarias simples o complejas para ejecutar diez, cientos o incluso decenas de miles de tareas. Los trabajos se pueden convertir en componentes Java estándar o EJB. La última versión de Quartz es Quartz 1.5.0.
Motor de plantillas de código abierto Velocity Java
Velocity es un motor de plantillas basado en Java. Permite que cualquiera haga referencia a objetos definidos por código Java simplemente usando un lenguaje de plantilla. Cuando Velocity se aplica al desarrollo web, los diseñadores de interfaces y los desarrolladores de Java pueden desarrollar un sitio web que sigue la arquitectura MVC al mismo tiempo, es decir, los diseñadores de páginas solo pueden centrarse en el efecto de visualización de la página, mientras que los desarrolladores de Java se centran en la lógica empresarial. codificación. Velocity separa el código Java de las páginas web, facilita el mantenimiento a largo plazo del sitio web y nos proporciona soluciones alternativas a JSP y PHP. Las capacidades de Velocity se extienden mucho más allá del ámbito del desarrollo de sitios web. Por ejemplo, puede generar SQL, PostScript y XML a partir de plantillas, y también puede utilizarse como herramienta independiente para generar código fuente e informes, o como componente integrado de otros sistemas.
Velocity también puede proporcionar servicios de plantillas para la arquitectura de desarrollo web de Turbine. Velocity Turbine proporciona un servicio de plantilla que permite desarrollar aplicaciones web utilizando un modelo MVC real. VeloEclipse: Velocity es un complemento de desarrollo auxiliar en la plataforma Eclipse.
Marco de capa de persistencia de código abierto Java de Ibatis
Utilizando el mecanismo ORM proporcionado por ibatis, los implementadores de lógica de negocios se enfrentan a objetos Java puros, que es básicamente lo mismo que implementar ORM a través de Hibernate. Para operaciones de datos específicas, Hibernate generará automáticamente declaraciones SQL, mientras que ibatis requiere que los desarrolladores escriban declaraciones SQL específicas. En comparación con los mecanismos ORM "completamente automáticos" como Hibernate, ibatis proporciona una mayor libertad para el diseño del sistema al hacer concesiones en la carga de trabajo de desarrollo de SQL y la portabilidad de la base de datos. Como complemento útil para lograr un ORM "completamente automático", la aparición de ibatis es de gran importancia.
Compiere ERP amp sistema ERP y CRM de código abierto
Compiere ERP ampCRM proporciona soluciones integrales a pequeñas y medianas empresas de todo el mundo, cubriendo todas las áreas, desde la gestión de clientes hasta la cadena de suministro y gestión financiera, compatible con funciones internacionales como múltiples organizaciones, múltiples monedas, múltiples modelos contables, múltiples cálculos de costos, múltiples idiomas y múltiples sistemas impositivos. Fácil de instalar, implementar y utilizar. En tan solo unas horas, puede utilizar potentes funciones como Adquisición-Compra-Pago de factura, Cotización-Pedido-Cobro de factura, Productos y precios, Gestión de activos, Relaciones con el cliente, Relaciones con proveedores, Relaciones con los empleados, Análisis de rendimiento empresarial y más. .
Blog rodante Blog de código abierto de Java
Este blog está bellamente diseñado y el código fuente es un buen material de aprendizaje. Admite funciones de blogs como la funcionalidad de comentarios, edición HTML WYSIWYG, TrackBack, proporciona plantillas de página, distribución RSS, gestión de blogroll y proporciona una interfaz XML-RPC.
Herramienta de desarrollo de código abierto Eclipse Java
La plataforma Eclipse es un marco de desarrollo donado por IBM a la comunidad de fuentes de desarrollo. Es famoso no porque IBM afirme haber invertido un total de 40 millones de dólares en su desarrollo, sino por el resultado de una inversión tan enorme: una arquitectura madura, bien diseñada y escalable.
Gestión de proyectos de código abierto XPlanner Java
XPlanner es una herramienta de seguimiento y planificación de equipos XP basada en web. XP tiene conceptos de desarrollo únicos, como iteración e historias de usuarios, y XPlanner proporciona las herramientas de gestión correspondientes. XPlanner apoya el proceso de desarrollo de XP y resuelve los problemas encontrados en el desarrollo de proyectos utilizando ideas de XP. XPlanner presenta planificación de modelos simple, tarjetas de notas virtuales), iteración, seguimiento de historias de usuario y registros de trabajo, las historias sin terminar se iteran automáticamente, se rastrea el tiempo de trabajo, se genera la eficiencia del equipo, se generan informes de tiempo de trabajo individuales y proporciona soporte de interfaz SOAP.
Base de datos DBMS de código abierto de Java
HSQLDB (Hypersonic SQL) es una base de datos relacional desarrollada en Java puro, que proporciona acceso a datos controlado por JDBC. Admite la sintaxis SQL estándar ANSI-92. Y ocupa muy poco espacio. Sólo cuesta alrededor de 160 000, con un motor de base de datos rápido.
Portal Liferay Java Open Source
Representa una aplicación J2EE completa, utilizando tecnologías como Web, EJB y JMS, especialmente la interfaz front-end que utiliza la tecnología framework Struts. El archivo de configuración del portlet basado en XML se puede expandir de forma libre y dinámica, utilizando servicios web para admitir la adquisición de información remota y Apache Lucene para lograr la recuperación de texto completo.
Características principales:
1. Proporciona una interfaz de inicio de sesión única y múltiples modos de autenticación (LDAP o SQL);
2. y roles;
3. Los usuarios pueden personalizar el diseño del portal personalizado según sus propias necesidades;
4. Puede ejecutarse en servidores de aplicaciones J2EE convencionales, como JBoss Jetty/Tomcat, Jonas<. /p>
5. Admite bases de datos convencionales, como PostgreSQL, MySQL;
6. Se utiliza la tercera versión de proyectos de código abierto, como Hibernate, Lucene y Struts;
7. Admite múltiples idiomas, incluido el chino;
8. Utiliza las tecnologías más avanzadas como Java, EJB, JMS, SOAP, XML, etc.
JetSpeed Portal de código abierto de Java
Jetspeed es una implementación del Portal de información empresarial (EIP) de código abierto. Las tecnologías utilizadas son Java y XML. Los usuarios pueden acceder al portal de información establecido por Jetspeed utilizando un navegador, teléfono móvil u otro dispositivo que admita el protocolo WAP. Jetspeed desempeña el papel de un concentrador de información, que puede centralizar la información y proporcionársela a los usuarios de manera conveniente.
Jetspeed tiene las siguientes características:
* La API del Portlet de Java está a punto de estandarizarse.
*Diseño basado en plantillas, incluidos JSP y Velocity.
* Admite el intercambio remoto de contenido XML a través de tecnología abierta de sincronización de contenido.
*Personaliza la página de inicio predeterminada
*Usa la base de datos para la autenticación de usuarios.
*Tecnología de almacenamiento en caché de memoria para acelerar la respuesta de la página.
*Admite contenido sincronizado a través de una rica tecnología de resumen de sitios web.
*Integración con Cocoon, WebMacro y Velocity.
* Compatibilidad con lenguaje de marcado inalámbrico (WML)
* Registre portlets mediante archivos de configuración XML.
*Compatibilidad total con Archivo de aplicaciones web (WAR).
*Infraestructura para el desarrollo de aplicaciones web
*El contenido remoto se puede almacenar en caché localmente.
*Sincronizado con Avantgo
*Se puede portar a todas las plataformas que admitan JDK1.2 y Servlet 2.2.
*Integración con módulos y servicios de turbinas
*Se pueden generar diferentes servicios personalizados en función de diferentes configuraciones de usuario, tipo de medio de instalación e idioma.
*Los servicios de persistencia permiten que los portlets almacenen fácilmente el estado de cada usuario, página y portlet.
*Utilice tecnología de máscara para permitir a los usuarios seleccionar el color y mostrar las propiedades de los portlets.
*Función de personalización del usuario Sí, los administradores pueden seleccionar portlets y definir el diseño de las páginas personales.
*Almacenar PSML en la base de datos.
*Administre usuarios, grupos, roles y permisos a través de los portlets de seguridad de Jetspeed.
*Control de acceso al portlet basado en roles
Servidor J2EE de código abierto Java JOnAS
JOnAS es una implementación J2EE de código abierto desarrollada por la Asociación ObjectWeb. Integre Tomcat o Jetty como su contenedor web para garantizar el cumplimiento de las especificaciones de Servlet 2.3 y JSP 1.2. El servidor JOnAS se basa en las siguientes API de Java o las implementa: JCA, JDBC, JTA, JMS, JMX, JNDI, JAAS, JavaMail.
Servidor J2EE de código abierto Java JFox3.0
JFox es un servidor de aplicaciones Java EE de código abierto dedicado a proporcionar servidores de aplicaciones Java EE livianos. A partir de 3.0, JFox proporciona un marco MVC que admite modularidad para simplificar el desarrollo de aplicaciones web y EJB. Si está buscando una plataforma de desarrollo Java EE simple, liviana, eficiente y perfecta, entonces JFox es exactamente lo que necesita.
JFox 3.0 tiene las siguientes características:
1. El micronúcleo IoC rediseñado incorpora el pensamiento modular OSGi.
2. Diseñado como una arquitectura integrada, se puede integrar e implementar con cualquier servidor web Java.
3. Admite especificaciones EJB3 y JPA, y admite componentes EJB y JPA dentro y fuera del contenedor.
4. Admite la publicación EJB en servicios web.
5. Utilice jotm (http://jotm.objectweb.org/) para proporcionar procesamiento de transacciones y admitir confirmación en dos fases (2PC).
6. Utilice el grupo Xa (http://forge.objectweb.org/projects/xapool/) para proporcionar fuentes de datos XA y admitir la gestión inteligente del grupo de conexiones.
7. El marco MVC integrado implementa mapeo automático de formularios, validación, carga y otras funciones, admite el motor de páginas JSP/Velocity/Freemarker y admite la inyección directa de EJB en acciones.
8. Admite la implementación de múltiples módulos de aplicaciones, lo que permite que las aplicaciones medianas y grandes disfruten plenamente de las ventajas del desarrollo modular.
9. Proporciona un módulo de gestión de administrador que puede ver y gestionar varios parámetros de tiempo de ejecución.
10. Proporcionar el módulo de aplicación Petstore reescrito de acuerdo con las características de JFox.