Cuando inicias sesión:
PayPal debe estar utilizando algún protocolo de autenticación (como LDAP), junto con el cifrado para enviar sus datos al servidor (puede tener un servidor únicamente para la autenticación), el código Java manejará el nombre de usuario y la contraseña, con algunos niveles de permiso, este código se convertirá por java en consultas y enviado al servidor real donde se almacenan los nombres de usuario y las contraseñas (llamémoslo UPServer), ahora UPserver devuelve el resultado de la consulta, que java interpreta. Interpreta significa:
1. Parte fácil: te autenticaste (nombre de usuario, coincidencias de contraseña), bueno te muestra la pantalla de tu cuenta.
2. Algo malo sucedió como UPServer inactivo, falta de coincidencia de nombre de usuario, falta de coincidencia de contraseña, UPServer no pudo procesar la consulta (demasiados usuarios concurrentes), para todos estos casos, Java habría creado controladores de excepciones, que cubren el problema, y muestra al usuario un Muy buen mensaje con un prefijo Lo siento.
Desde arriba, parte fácil, cuando llega a su cuenta, puede recibir un poco de dinero o le ha enviado dinero a alguien (todo parte de las Transacciones).
¿Qué pasa si alguien / todas estas transacciones no se completaron?
PayPal debe ser extremadamente cuidadoso para mantener consistentes sus bases de datos (cuentas de dinero de los usuarios). La consistencia requiere una gran cantidad de casos de “qué pasaría si”, incluso los peores controles.
1. Los cheques lógicos, como el monto que está enviando a otra persona, es más de lo que tiene en su cuenta.
2. Comprobaciones de cordura como se mencionó anteriormente Problemas del servidor UPS, problemas de conexión, conexión lenta.
Todos estos son parte de Business Logic, que está codificada en Java.
Desde la perspectiva del usuario, todo lo que viene después de que los datos salen de la interfaz de usuario es backend.
El usuario no tiene que preocuparse de cómo lo hace PayPal, el usuario quiere que su dinero esté seguro.
- ¿Cuáles son algunos de los mejores hacks que has visto?
- ¿Cuál es la mejor herramienta de gestión de proyectos para un desarrollador de aplicaciones web?
- Si compara y contrasta Evernote e Instapaper, incluidos los gratuitos y de pago, ¿cuál es el mejor producto?
- ¿Qué tipo de arquitectura necesita una aplicación web o servidor para manejar una carga constante de 100 millones de transacciones por segundo?
- ¿Por qué el espacio de seguimiento de tareas en línea / seguimiento de problemas / gestión de proyectos está tan lleno?