Para es un servidor/marco de back -end múltiple escalable para la persistencia y recuperación de objetos. Le ayuda a construir y prototipos de aplicaciones más rápido al cuidar las operaciones de backend. Puede ser parte de su aplicación basada en JVM o puede implementarse como servidor API independiente y multitenante con múltiples aplicaciones y clientes que se conectan a ella.
El nombre "Pára" significa "vapor" en búlgaro. Y al igual que Steam se usa para alimentar cosas, puede usar para para alimentar el backend de su aplicación móvil o web.
Vea cómo se compara PARA con otros marcos de backend de código abierto.
Este proyecto está totalmente financiado y apoyado por Erudika, una empresa independiente y arrancada.
DAO de forma nativa) +----------------------------------------------------------++
| ____ ___ _ ____ ___ _ |
| / __ / __` / ___ / __` / |
| / / _ / / / _ / / / / / _ / / |
| / .___/ __, _/ _/ __, _/ +------------- + +
| / _/ | Persistencia |
+-------------------++-----------------++-------------++
| REST API | | Buscar | --- | Caché |
+---------+---------+-+--------+--------+---+------+------++
| | |
+---------+---------++--------+--------++------+------++
| Solicitudes firmadas | | Índice de búsqueda | | Almacén de datos |
| y tokens JWT | | (Cualquiera) | | (Cualquiera) |
+----+---------^----++-----------------++-------------++
| |
+---- V ---------+-------------------------------------------+
| CLIENTES: JavaScript, PHP, Java, C#, Android, iOS, et al. |
+----------------------------------------------------------++
Ofrecemos soporte de alojamiento y premium en Paraio.com, donde puede probar Para en línea con una cuenta de desarrollador gratuita. Explore y administre a sus usuarios y objetos, realice copias de seguridad y edite permisos con algunos clics en la consola web. Al actualizar a una cuenta premium, podrá escalar sus proyectos de arriba a abajo en segundos y administrar múltiples aplicaciones.
application.conf en el mismo directorio que el paquete JAR.java -jar -Dconfig.file=./application.conf para-*.jarnpm install -g para-cli # run setup and set endpoint to either 'http://localhost:8080' or 'https://paraio.com'
# the keys for the root app are inside application.conf
$ para-cli setup
$ para-cli new-app "myapp" --name "My App"
Alternativamente, puede usar la consola web para para administrar los datos o integrar el PARA directamente en su proyecto con uno de los clientes de API a continuación.
Las imágenes etiquetadas de Docker para Para se encuentran en erudikaltd/para en Docker Hub. Se recomienda encarecidamente que solo extraiga imágenes de lanzamiento como :1.45.1 o :latest_stable porque :latest etiqueta puede romperse o inestable. Primero, cree un archivo application.conf y una carpeta data e inicie el contenedor para:
$ touch application.conf && mkdir data
$ docker run -ti -p 8080:8080 --rm -v $(pwd)/data:/para/data
-v $(pwd)/application.conf:/para/application.conf
-e JAVA_OPTS="-Dconfig.file=/para/application.conf" erudikaltd/para:latest_stable
Variables de entorno
JAVA_OPTS - Propiedades del sistema Java, por ejemplo, -Dpara.port=8000 BOOT_SLEEP - Retraso de inicio, en segundos
Complementos
Para usar complementos, cree un nuevo Dockerfile-plugins que realiza una compilación de varias etapas de la misma manera:
# change X.Y.Z to the version you want to use
FROM erudikaltd/para:v1.XY.Z-base AS base
FROM erudikaltd/para-search-lucene:1.XY.Z AS search
FROM erudikaltd/para-dao-mongodb:1.XY.Z AS dao
FROM base AS final
COPY --from=search /para/lib/*.jar /para/lib
COPY --from=dao /para/lib/*.jar /para/lib
Luego, simplemente ejecute $ docker build -f Dockerfile-plugins -t para-mongo .
El para se puede compilar con JDK 8+:
Para compilarlo, necesitará Maven. Una vez que lo tengas, solo clon y construya:
$ git clone https://github.com/erudika/para.git && cd para
$ mvn install -DskipTests=true Para generar el $ mvn package y estará en ./para-jar/target/para-xyz-SNAPSHOT.jar . Se generarán dos archivos JAR en total: el Fat One es un poco más grande.
Para construir el paquete base sin complementos (excluye para-dao-sql y para-search-lucene ), ejecute:
$ cd para-jar && mvn -Pbase package
Para ejecutar una instancia local de para para el desarrollo, use:
$ mvn -Dconfig.file=./application.conf spring-boot:runPuede ejecutar el para un servidor independiente descargando el jar ejecutable y luego:
$ java -jar para-X.Y.Z.jarPuede explorar sus objetos a través de la consola de la consola Web Web.paraio.org . Simplemente cambie el punto final de la API para ser su servidor local y conecte sus claves de acceso. La interfaz de administración es solo del lado del cliente y su clave secreta nunca se envía a través de la red. En cambio, un token de acceso JWT se genera localmente y se envía al servidor en cada solicitud.
Alternativamente, puede crear un archivo de guerra e implementarlo en su contenedor de servlet favorito:
$ cd para-war && mvn package
También puede integrar el para con su proyecto agregándolo como dependencia. Para está alojado en Maven Central. Aquí está el fragmento Maven para incluir en su pom.xml :
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >Para construir aplicaciones livianas solo para clientes que se conecten a PARA, incluya solo el módulo cliente:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cliUse estas bibliotecas de clientes para integrar rápidamente para su proyecto:
Use estas implementaciones DAO para conectarse a diferentes bases de datos:
AWSDynamoDAO (incluido en para-server )H2DAO es el DAO predeterminado y es parte del complemento SQL (empaquetado con el archivo JAR) La interfaz Search se implementa por:
La interfaz Cache se implementa por:
para-server ) La interfaz Queue se implementa por:
AWSQueueLocalQueue para implementaciones de huéspedes únicos y desarrollo local 2.0 - Migración a Quarkus, Java 13+ SOLO, imagen nativaparapara en el desbordamiento de la pila git checkout -b my-new-feature )git commit -am 'Added a new feature' )git push origin my-new-feature )Intente respetar el estilo de código de este proyecto. Para verificar su código, ejecutarlo a través del verificador de estilo:
mvn validatePara obtener más información, consulte Contriping.md
Apache 2.0