You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ReflectWork es un Framework desarrollado en Java usando la API de Reflection ¿Descriptivo no?
6
+
is a Framework, development with Java using the API of Reflection. You can create classes and methods in one package, and methods and objects has been called dynamically
7
7
8
-
Dejando el sentido del humor de lado, este trabajo se hizo con la finalidad de ahorrar trabajo repetitivo al desarrollador web, con la finalidad de que se dedique a hacer las funciones que necesita particularmente. ¿Como usarlo? el Framework trabaja estrictamente con Jsons enviados en forma de Raw. Plantea comunicaciones de esa forma</p>
Bienvenido al esquema de trabajo, como es un FrameWork desarrollado en Java, gracias a la API de reflection cuando necesites un metodo en especifico, lo puedes llamar dinamicamente desde un solo endpoint... Por ejemplo !
<p>Vemos que es un metodo que recibe los datos de un usuario en string, se encarga de verificarlos y meterlos en una base de datos, sencillo... Lo interesante esta, que simplemente no hay que llamarlo en <b>ninguna parte del codigo</b> ¿Y entonces como se ejecuta diras? Pues...</p>
<p>Tu despreocupate de como va a ser llamado el codigo, gracias al Framework esto es posible, simplemente tienes que poner el nombre de tu Clase, el nombre del metodo, los parametros y los tipos...
15
+
<h1> How to uses this Framework</h1>
58
16
59
-
En el ejemplo anterior tenemos el metodo registerUser que se encuentra en la clase Register, y tiene 4 parametros de tipo String<p>
<p>Para el manejo de los objetos y metodos, necesitamos plantear ese esquema para modo de que el sistema pueda funcionar, el funcionamiento es simple. Al momento de que el servidor arranca, automaticamente carga todos los objetos y metodos que no estan guardados en la base de datos. El objeto de seguridad relaciona un perfil con permisos, donde esos permisos dicen a fin de cuentas que metodos puede manejar y cuales no.
27
+
This is a representation of the database
78
28
79
-
Nota: Por el momento, como no existen roles, se tienen que agregar los permisos para cada perfil manualmente.
80
-
Nota 2: Si el servidor se reinicia y hubo metodos borrados, quedaran registrados en la base de datos.
81
29
82
-
Esperamos corregir eso para una proxima version. Siguiendo con el framework, estas son las tablas que necesitamos:</p>
30
+
Please create a new database with some name in PostgreSQL, after this, please execute this commands in SQL:
<b>(!) Algo muy importante: Hay que anexar un perfil Guest, que sera el default de cualquier persona, que usualmente nada mas tendra permiso a metodos de login y register. En la tabla perfil se inserta un perfil llamado GUEST con el ID 1, y a ese perfil le añadiremos permisos mas adelante</b>
155
-
156
-
<p>Cabe destacar de antemano que se necesita tener Java EE y algun IDE de desarrollo... Despues de eso, deberas ir a tu carpeta de proyectos del IDE (en el caso de eclipse el workspace) y Clonar este repositorio, una vez abierto se verá algo asi:</p>
<p><b>(!)</b> Es importante que modifiques la URI y coloques donde esta colocado tu proyecto en el workspace.. Ejemplo en windows seria C:/Users/Desktop/eclipse_workspace/backend_java Por ejemplo... de esa URI depende todos los demas archivos.
160
-
161
-
Tambien es importante que crees esos 3 archivos de configuracion, segun eso se regiran muchas cosas de la aplicacion</p>
162
-
163
-
<h2>Entendiendo y configurando archivos</h2>
164
-
165
-
<h4>config_db.properties</h4>
166
-
167
-
```properties
168
-
db.driver= (tu driver)
169
-
db.url= (url de tu base de datos)
170
-
db.username= (username de la base de datos)
171
-
db.password= (password de la base de datos)
172
-
```
173
-
174
-
<h4>config_querys.properties</h4>
175
-
176
-
```properties
177
-
insert.object= INSERT INTO object (name_object) VALUES (?);
178
-
insert.method= INSERT INTO method (name_method, id_object_method) VALUES (?, ?);
select.where.name_object=SELECT *FROM object WHERE name_object=?;
181
-
select.where.name_method=SELECT *FROM method WHERE name_method=?;
182
-
select.where.id_profile=SELECT *FROM profile WHERE id_profile=?;
183
-
select.profile=SELECT *FROM profile;
184
-
select.permissions=SELECT *FROM permissions;
185
-
select.where.id_profile_permissions=SELECT *FROM permissions WHERE id_profile_permissions=?;
186
-
select.where.id_method=SELECT *FROM method WHERE id_method=?;
187
-
select.where.id_object=SELECT *FROM object WHERE id_object=?;
188
-
innerjoin.object.method=SELECT method.id_method, method.name_method, object.name_object FROM method INNER JOIN object ON method.id_object_method = object.id_object;
189
-
```
190
-
191
-
<p>Usualmente esos son los querys que se usan hasta ahora, puedes anexar esos y otros si prefieres.</p>
192
-
193
-
194
-
<h4>config_pool.properties</h4>
195
-
196
-
```properties
197
-
maxconnections= (maximas conexiones al mismo tiempo para la base de datos)
198
-
hops= (instancias creadas al mismo tiempo "mordiscos")
199
-
```
200
-
201
-
202
-
<h2>Agregando Permisos</h2>
203
-
204
-
<p>Cuando inicies el servidor por primera vez, si no hay errores, te cargara automaticamente los objetos y metodos en la base de datos... ¿Te acuerdas del usuario GUEST? si no, chequea arriba, si ya lo has hecho. Tienes que agarrar las ID de los metodos que quieras darle permiso al usuario GUEST e insertarlo en la tabla Permisos</p>
205
-
206
-
<h2>Listo!</h2>
207
-
208
-
<p>Ya puedes usarlo enviando y recibiendo jsons, probando creando metodos nuevos que hagan otras cosas. Si llegaste hasta aqui, gracias por apoyarnos. Estaremos avanzando y actualizando mas cosas con el tiempo !! </p>
101
+
<h3>2. Download Project </h3>
102
+
103
+
Download this as a zip or clone in your IDE workspace, if you download please unzip this in your IDE workspace. After, open your IDE and import project of projects existing in your workspace
104
+
105
+
<h3> 3. Configure Project </h3>
106
+
107
+
Enter in the folder Config and create the .properties files for config_db and config_pool, you need to create this files:<br/><br/>
108
+
config_pool.properties<br/>
109
+
maxconnections={number};<br/>
110
+
hops={number};<br/><br/>
111
+
config_db.properties<br/>
112
+
db.driver=org.postgresql.Driver; // to use PostgreSQL<br/>
<b>Very important:</b> The database needs the previous tables
121
+
122
+
<h3> 4. Runs a Server </h3>
123
+
124
+
In your IDE with Java EE, open the project and create a server in servers tab. Use a apache tomcat 8.0 or higher, and add the dynamic web project in server. after, start the server.
Open postman and create new request in POST method to this endpoint: localhost:8080/TeamBackendJava/Dispatcher or localhost:8080/backend_java/Dispatcher, next go to body raw, and write Json, click in send and wait responses. <br/> <br/>
133
+
134
+
If the response is a JSON. You're using the Framework <br/>
135
+
Else if the response is a status 500 with html, servers finds a big bug <br/>
136
+
Else the response is a status 404, server is turn off or isn't the endpoint <br/><br/>
0 commit comments