Cristian Fernandes en Informática Oficial, Programadores, Desenvolvedores / Programadores / Front-End Atendente • Carrefour 23/11/2016 · 1 min de lectura · +400

Conceito Back-End e Front-End

Na Computação, front-end e back-end são termos generalizados que se referem às etapas inicial e final de um processo. O front-end é responsável por coletar a entrada do usuário em várias formas e processá-la para adequá-la a uma especificação em que o back-end possa utilizar.  Um conceito básico de back-end está na figura abaixo:

imagens fonte: http://buff.ly/2glYx4P

Conceito Back-End e Front-EndConceito de front-end: 

Conceito Back-End e Front-End

Socket

Um Socket é uma abstração de software que define uma das pontas de uma comunicação entre dois pontos. O Socket de Internet define onde a “ponta” da conexão se encaixa (isto é, endereço de IP e porta), assim como o protocolo de comunicação que está sendo utilizada na “comunicação”. ou seja, um Socket de rede é um ponto final de um fluxo de comunicação entre processos através de uma rede de computadores. Hoje em dia, a maioria da comunicação entre computadores é baseada no protocolo de internet TCP e UDP, portanto a maioria dos soquetes de rede são soquetes de Internet.

EndPoint

Um endpoint é o nome para uma entidade em um terminal de uma conexão da camada de transporte. pense no seguinte: você está em um prédio, este prédio tem varias portas, cada porta faz um serviço, exemplo, porta 1, faz serviços financeiros, porta 2, faz serviço jurídicos, consequentemente, eu bato ou entro na porta que me interessa. Levando isso para informática o edifício é o ip, exemplo 192.168.1.1 atrás do edifício tem-se varias portas, isto é, endpoints, se eu quiser, por exemplo serviços financeiros eu bato na porta 1 este ponto de acoplamento chama-se de Socket.

Client and Server

Agora vou criar uma aplicação com o conceito de back-end e front-end.

parte Client

//só fazer os imports

public class Navegador extends JFrame {

public Navegador(){

this.setTitle("Navegador");

JEditionPane jep = new JeEditonPabe();

jep.setEditable(false);

try{

jep.setPage (new URL("http://localhost"));

}

catch (Exception ex){

System.out.println(ex.getMessage());

}

this.getContentPane ().add(new JCrollPane(jep));

this.setSize (new Dimension (300, 300));

}

public static void main (String args[]){

Navegador n = new Navegador();

}

}

Parte Server

import java.net.*;

import java.io.*;

public class Webserver {

private ServerSocket srv;

public Webserver (){

try{

srv = new ServerSocket(80); //a porta

}

catch (IOException io){

System.out.println(io.getMessage());

}

}

public void begin(){

Socket s = null;

while (true){

try{

s = srv.accept();

processa(s);

s.close();

}

catch (IOException io){

System.out.println(io.getMessage());

}

void processa (Socket s){

try{

BufferedReader br = new BufferedReader{

s.getInputStream()));

String linha = br.readLine();

System.out.println(linha);

BuefferedWriter bw = new BufferedWriter{

new OutputStreamWriter{

s.getOutputStream());

String texto =

"<html><head><title>Envio de resposta"+

"</head><body><h3> Resposta em HTML"+

"aplicação java</h3></body></html";]

bw.write("HTTP/1.0 200 ok\r\n");

bw.write("content-Type: text/html\r\n");

bw.write(

"Content-Lenght:"+texto.lenght() +"\r\n\r\n"

);

bw.write(texto);

bw.flush();

}

catch (IOException io){

System.out.println(io.getMessage());

}

public static void main (String args[]){

Websever wb = new Webserver();

wb.begin();

}

}

O conceito básico de back-end e front-end é o seguinte: o cliente chama através de celular, computador, etc e este servidor responde o serviço.