Criar as próprias API's Rest ou usar mulesoft?

Status
Fechado a novas mensagens.

Rick8

Banido
Estou numa empresa que fabrica e vende produtos em que esta a querer interligar os serviços dela, e para isso criar API's para sites por exemplo lojas externas como a Amazon, worten, programas internos, etc.. invés de andar com excel para fazer importacoes e exportacoes de produtos, facturas, etc..

Eu comecei a pouco tempo, e la o meu chefe já tinha contratado uma empresa externa que lhe andou a vender o suporte para o mulesoft mas aquilo é um balúrdio sao para aí 50mil€ por ano e eles nao fazem api's tenho que ser eu a fazer porque esse pagamento e só para o suporte lol..

Eu achei aquilo ridículo e disse ao meu chefe que conseguia fazer api's sem precisar do suporte da app mulesoft e assim a empresa poupava esse dinheiro, construí uma api para o WooCommerce e pus num job em sql server e amostrei lhe como funcionava, mas ele ainda nao fica convencido e gosta do mulesoft mas ele nao percebe nada de informática..

O que vocês acham? Estou a fazer bem criar as api's num novo projecto em .net? Ou realmente aquela cena do mulesoft é melhor? O meu chefe deu mais um tempo para eu criar outra api mas agora para a worten para ver se o convenço, mas da parte dessa empresa externa apenas fizeram uma api para a amazon que demoraram meses e que aquilo só insere os produtos novos vai buscar as orders.

Eu demorei 3 dias a fazer a api para o WooCommerce e pelo que vi a doc da worten é mais do mesmo, e eu estou sozinho sou o único programador da empresa.

E se acharem que eu estou certo e devo continuar a convencer a empresa para ter as próprias API's, acham que devo criar uma app para cada api? Ou uma só app com todas as api's? Eu criei uma app em .net c# console com newtonjson(serialize), se pudessem me dar uns conselhos ficava muito agradecido..
 
Última edição:

tugafcp

Power Member
Acho não vale a pena estares-te a esforçar...

Tentaste, estás a gastar o teu tempo com isso, e o teu chefe (que irá poupar 50.000€) ainda se arma em esquisito?

Se achas que vais receber algum dos 50.000 estás enganado... Porque "já te paga ordenado"
 

Rick8

Banido
Acho não vale a pena estares-te a esforçar...

Tentaste, estás a gastar o teu tempo com isso, e o teu chefe (que irá poupar 50.000€) ainda se arma em esquisito?

Se achas que vais receber algum dos 50.000 estás enganado... Porque "já te paga ordenado"
Estava apenas a tentar ganhar respeito e claro no futuro ser aumentado, mas ta difícil..

Mas nunca tinha ouvido falar deste software achas boa ideia usá lo? ou estou a fazer bem em criar as api´s em .net?
 

NightscreaM

Power Member
Integrações não se resumem a API's... e mulesoft oferece um package com uma panóplia enorme de serviços, ETL, APIs, segurança, proxies, SLA's, documentação, portais etc.
É uma plataforma potentíssima com imenso potencial para elevar a vossa estrutura IT para outro patamar, se souberem usá-la.
Agora se o modelo do negócio não justificar estão apenas a enterrar dinheiro.
Qual é o volume diario/mensal de dados a entrar ? Se forem 50 faturas por mes secalhar compensa usar excel ou metê las à mão... agora se forem 5000 ou 500000 a entrar diariamente secalhar integração ja justifica...
Depois tens que pensar noutra coisa, que é a segurança dos sistemas, se o vosso sistema estiver dentro duma rede privada com firewall etc, os tipos de conectividade externa/interna é algo que tem que ser pensado com cuidado, pois não queres deixar a rede vulneravel, mulesoft providencia serviços de proxy que facilitam o processo por exemplo.
Para não falar noutras utilidades tipo escalamento de recursos, load balancing, design/documentação das API's que fazes com mulesoft muito facilmente e que são faceis de manter e desenvolver.

Resumindo: Integração de dados é muito mais do que umas API's marteladas num bocado de codigo hospedado num servidor de 10€ por mês portanto estuda bem o cenário completo.
 

Rick8

Banido
Integrações não se resumem a API's... e mulesoft oferece um package com uma panóplia enorme de serviços, ETL, APIs, segurança, proxies, SLA's, documentação, portais etc.
É uma plataforma potentíssima com imenso potencial para elevar a vossa estrutura IT para outro patamar, se souberem usá-la.
Agora se o modelo do negócio não justificar estão apenas a enterrar dinheiro.
Qual é o volume diario/mensal de dados a entrar ? Se forem 50 faturas por mes secalhar compensa usar excel ou metê las à mão... agora se forem 5000 ou 500000 a entrar diariamente secalhar integração ja justifica...
Depois tens que pensar noutra coisa, que é a segurança dos sistemas, se o vosso sistema estiver dentro duma rede privada com firewall etc, os tipos de conectividade externa/interna é algo que tem que ser pensado com cuidado, pois não queres deixar a rede vulneravel, mulesoft providencia serviços de proxy que facilitam o processo por exemplo.
Para não falar noutras utilidades tipo escalamento de recursos, load balancing, design/documentação das API's que fazes com mulesoft muito facilmente e que são faceis de manter e desenvolver.

Resumindo: Integração de dados é muito mais do que umas API's marteladas num bocado de codigo hospedado num servidor de 10€ por mês portanto estuda bem o cenário completo.
Mas a minha ideia é criar classes para cada api e inicializa las como funções numa .net 5 console app no qual ja comecei e ja corre pa o WooCommerce, estou agora a criar pa worten em que so muda umas variáveis e o codigo pa o json..
Depois por a app a correr num job em sql server no servidor da empresa interno que ja tem essa seguranca toda do windows server, o sql server, antivírus etc..

O mulesoft ate parece ser porreiro por ter isso tudo mas a manutenção dele é cara e confusa..

A empresa tem milhares de produtos e estão colocados em muitos sites, no qual tem que andar sempre com importações em excel para as faturas, produtos, etc.. por isso sim sao milhares 5mil na boa..

Eles querem que seja feito dezenas de api's
 

cconst

Power Member
Sabes porque é que o teu chefe prefere mulesoft?! Pelo mesmo motivo que eu enquanto decisor o faria: criar uma coisa legacy que fica dependente de apenas uma pessoa?! Com todo o conhecimento concentrado num só?! E se essa pessoa se vai embora? Ou se adoece? Ou tem um acidente? Ou tu decides pedir um amento de 50k ao ano porque apenas tu sabes mexer naquilo?! O que acontece à informação?! Quem pega nelaessa solução!? Mesmo que contrate um mega-guru, quanto tempo esse guru irá demorar a entender o que está a ser feito para conseguir corrigir uma urgência qualquer?! Qual o custo para o teu patrão por se demorar 3 dias a resolver uma urgência?

Deixar tudo nas mãos de uma pessoa é má decisão.

50K pode não ser nada tendo em conta do volume de faturação da empresa.
 

Rick8

Banido
Sabes porque é que o teu chefe prefere mulesoft?! Pelo mesmo motivo que eu enquanto decisor o faria: criar uma coisa legacy que fica dependente de apenas uma pessoa?! Com todo o conhecimento concentrado num só?! E se essa pessoa se vai embora? Ou se adoece? Ou tem um acidente? Ou tu decides pedir um amento de 50k ao ano porque apenas tu sabes mexer naquilo?! O que acontece à informação?! Quem pega nelaessa solução!? Mesmo que contrate um mega-guru, quanto tempo esse guru irá demorar a entender o que está a ser feito para conseguir corrigir uma urgência qualquer?! Qual o custo para o teu patrão por se demorar 3 dias a resolver uma urgência?

Deixar tudo nas mãos de uma pessoa é má decisão.

50K pode não ser nada tendo em conta do volume de faturação da empresa.
Como assim uma coisa legacy? És programador? Porque acho estranho dizeres isso..
O que eu estou a sugerir a empresa e o que eu tenho no código é apenas umas queries para depois serializar o json e enviar via webservice ou desearializar.. nada de especial de código complexo que quando eu bazar a empresa fique em panico lol..

Cada classe tem cerca de 300 linhas e muda pouco entre elas, ou seja é muito pouco código, eu sou junior menos de 1ano de experiência, e para mim aquilo é básico entao para um programador experiente pegava no que fiz a brincar sem esforço, e mais, tenho tudo documentado, formatado e organizado nada de código esparguete..
 

cconst

Power Member
Como assim uma coisa legacy? És programador? Porque acho estranho dizeres isso..
O que eu estou a sugerir a empresa e o que eu tenho no código é apenas umas queries para depois serializar o json e enviar via webservice ou desearializar.. nada de especial de código complexo que quando eu bazar a empresa fique em panico lol..

Cada classe tem cerca de 300 linhas e muda pouco entre elas, ou seja é muito pouco código, eu sou junior menos de 1ano de experiência, e para mim aquilo é básico entao para um programador experiente pegava no que fiz a brincar sem esforço, e mais, tenho tudo documentado, formatado e organizado nada de código esparguete..
Sim sou.
Um sistema legacy não quer dizer apenas que é uma coisa velha. Quer dizer também que pode ser um software proprietário e que pode estar desatualizado (não tem que ser tecnologicamente) e necessitar de substituição/manutenção.

Independentemente da complexidade do que é para desenvolver, não deixa de ser uma coisa à medida, cuja complexidade pode aumentar, pode não estar desenvolvido para ser escalável, pode não estar desenvolvido para facilmente adaptável e o pode implicar a contratação de um recurso extra para te fazer companhia, uma vez que pode-se correr o risco de esse software que estás a desenvolver poder necessitar de ajustes constantes.

Entretanto, se receberes 1000 brutos, o teu patrão tem quase 20k de encargos contigo por ano... mas teria que ir buscar outro recurso para compensar o teu tempo neste software que estás a querer desenvolver... mais 20k... Será que vale a pena do ponto de vista do negócio?! E estou a considerar salários de escravo.

Tudo se resume a contas e riscos.


Mas independentemente do que eu acho: o teu chefe tomou uma decisão.
 
Última edição pelo moderador:

Rick8

Banido
Mas independentemente do que eu acho: o teu chefe tomou uma decisão.

Mas o mulesoft também gasta dinheiro a pagar nao so a empresa externa mas também aos programadores para fazerem API's porque aquela empresa nao trata nada disso..

Eu tou a fazer de maneira a ser escalável com é obvio sempre a pensar no futuro, quanto a ter que alterar código é igual no mulesoft também tem se que mexer naquilo quando a documentação do amazon por exemplo for atualizada.. e no meu tinha a vantagem de como é a medida fica sempre com a empresa o source code.
Se formos a pensar assim entao os programadores iam ter pouco emprego porque nao iam fazer apps android a medida porque já existe apps que constroem apps, websites nem pensar usa se o wordpress e os plugins, apps internas usam o pwc, etc...

Eu recebo o salário de escravo 11k/ano líquidos com ajudas de custos e sub.refeicao,
O meu chefe ainda nao decidiu esta a ver a melhor forma porque ele também gostava de poupar rescindindo com a tal empresa externa..

Sempre ouvi dizer "Today's code is tomorrow legacy code"
Para isso é que as empresas precisam sempre de programadores para irem atualizando..
 

jegsr

Power Member
Mas o mulesoft também gasta dinheiro a pagar nao so a empresa externa mas também aos programadores para fazerem API's porque aquela empresa nao trata nada disso..

Eu tou a fazer de maneira a ser escalável com é obvio sempre a pensar no futuro, quanto a ter que alterar código é igual no mulesoft também tem se que mexer naquilo quando a documentação do amazon por exemplo for atualizada.. e no meu tinha a vantagem de como é a medida fica sempre com a empresa o source code.
Se formos a pensar assim entao os programadores iam ter pouco emprego porque nao iam fazer apps android a medida porque já existe apps que constroem apps, websites nem pensar usa se o wordpress e os plugins, apps internas usam o pwc, etc...

Eu recebo o salário de escravo 11k/ano líquidos com ajudas de custos e sub.refeicao,
O meu chefe ainda nao decidiu esta a ver a melhor forma porque ele também gostava de poupar rescindindo com a tal empresa externa..


Para isso é que as empresas precisam sempre de programadores para irem atualizando..

Acho que estás a confundir alhos com bugalhos, já que pegando no teu exemplo sites como "wix" são feitos para um mercado e proposito que em nada vai de acordo com a tua situação.

Não vejo problemas em tentares melhorar algo que tu vês como um problema, mas concordo que podes não estar a ver a full picture da vantagem do mulesoft e depois puderes dar um "tiro nos pés", mas são opiniões.
 

NightscreaM

Power Member
@Rick8 se és junior então há muita coisa que só te vai fazer sentido quando mudares de empresa e tiveres que pegar no codigo de outros juniores... 300 linhas hoje pode ser 30k em 2 ou 3 anos. O que faz sentido hoje para ti, provavelmente vai fazer muito menos daqui a 6 meses, portanto imagina para outras pessoas.
Plataformas de integração existem e são caras por varias razões, entre elas serem muito mais facil de manter e expandir - e nisto podes confiar ;)
Não entendes mulesoft então aprende, acredita que vai te ser muito util e há resmas de material de treino.
 

ultrauploader

Power Member
Aqui o pessoal está mais virado para concordar com adoptar uma solução proprietária paga e dado o tipo de empresa é capaz de realmente ser a melhor solução.

Mas também percebo o teu objectivo: pretendes criar algo por ti para melhorar os teus skills e de certa forma ser valorizado.

A questão é que pelo que parece o core business da empresa não é IT e como tal és visto como um mal necessário. Por isso pelo ponto de vista da empresa, faz mais sentido simplesmente pagar por uma solução e fazer "outsourcing" do desenvolvimento.

No teu lugar e visto que ainda não tens muita experiência propunha uma 3ª solução - percebe realmente qual o volume de dados e o scope do problema (todos os requisitos, qual o esforço de manutenção) e percebe realmente se achas que 1 pessoa sem muita experiencia consegue desenvolver e manter essa solução. Se assim for força nisso. Não te esqueças que para uma coisa bem feita tens que manter servidores, fazer desenvolvimento, criar testes, resolver bugs, controlo de versões (com CI/CD a não ser que queiras fazer deploys manuais) e qualquer problema que eventualmente surja tens que estar disponível para resolver.

Se para além disto for algo que não seja prioritário para a empresa e consigas garantir que existe um fallback caso o teu sistema fique em baixo, se calhar até faz sentido seres tu a desenvolver. Caso contrario adopta esse tal mulesoft e usa os teus skills para resolver outro problema na empresa.
 

Rick8

Banido
Acho que estás a confundir alhos com bugalhos, já que pegando no teu exemplo sites como "wix" são feitos para um mercado e proposito que em nada vai de acordo com a tua situação.

Não vejo problemas em tentares melhorar algo que tu vês como um problema, mas concordo que podes não estar a ver a full picture da vantagem do mulesoft e depois puderes dar um "tiro nos pés", mas são opiniões.
nao gostei daquilo, mas claro o chefe é que manda, eu vou apenas dar lhe uma alternativa visto que ele deu me esta chance para eu demonstrar lhe..

@Rick8 se és junior então há muita coisa que só te vai fazer sentido quando mudares de empresa e tiveres que pegar no codigo de outros juniores... 300 linhas hoje pode ser 30k em 2 ou 3 anos. O que faz sentido hoje para ti, provavelmente vai fazer muito menos daqui a 6 meses, portanto imagina para outras pessoas.
Plataformas de integração existem e são caras por varias razões, entre elas serem muito mais facil de manter e expandir - e nisto podes confiar ;)
Não entendes mulesoft então aprende, acredita que vai te ser muito util e há resmas de material de treino.
Pois eu confio e se elas existem é porque sao boas, apenas nao faz o meu estilo nao gosto daquilo, eu gosto de escrever codigo e ter o controle e nao tar preso a uma empresa externa..

Aqui o pessoal está mais virado para concordar com adoptar uma solução proprietária paga e dado o tipo de empresa é capaz de realmente ser a melhor solução.

Mas também percebo o teu objectivo: pretendes criar algo por ti para melhorar os teus skills e de certa forma ser valorizado.

A questão é que pelo que parece o core business da empresa não é IT e como tal és visto como um mal necessário. Por isso pelo ponto de vista da empresa, faz mais sentido simplesmente pagar por uma solução e fazer "outsourcing" do desenvolvimento.

No teu lugar e visto que ainda não tens muita experiência propunha uma 3ª solução - percebe realmente qual o volume de dados e o scope do problema (todos os requisitos, qual o esforço de manutenção) e percebe realmente se achas que 1 pessoa sem muita experiencia consegue desenvolver e manter essa solução. Se assim for força nisso. Não te esqueças que para uma coisa bem feita tens que manter servidores, fazer desenvolvimento, criar testes, resolver bugs, controlo de versões (com CI/CD a não ser que queiras fazer deploys manuais) e qualquer problema que eventualmente surja tens que estar disponível para resolver.

Se para além disto for algo que não seja prioritário para a empresa e consigas garantir que existe um fallback caso o teu sistema fique em baixo, se calhar até faz sentido seres tu a desenvolver. Caso contrario adopta esse tal mulesoft e usa os teus skills para resolver outro problema na empresa.
Sinceramente nao me chateio, apenas disse ao meu chefe que tinha outra solução e tenho funciona.. para mim tem que ser a por codigo senao nao me sinto um programador mas apenas um técnico..
 
Última edição:

cconst

Power Member
Nunca ouviste a história de um caramelo que cobrou 1000 usd por apertar um parafuso?

O TÉCNICO EM INFORMÁTICA E O PARAFUSO

Um técnico em informática foi chamado para consertar um computador gigantesco e extremamente complexo que valia 12 milhões de dólares.

Sentado em frente ao monitor, o técnico apertou umas teclas, balançou a cabeça, murmurou algo pra si mesmo e desligou o aparelho. Tirou do bolso uma pequena chave de fenda e girou uma volta e meia um minúsculo parafuso. A seguir, religou o computador e verificou o perfeito funcionamento.

O presidente da companhia mostrou-se encantado e se dispôs a pagar a conta imediatamente:

– Quanto é que lhe devo? – perguntou.

– São mil dólares pelo serviço efetuado – respondeu o técnico.

– Mil dólares? Mil dólares por uns momentos de trabalho? Mil dólares por apertar um simples parafusinho? Eu sei que meu computador custa 12 milhões de dólares, mas mil dólares é uma quantidade brutal! Efetuarei seu pagamento desde que me envie uma fatura detalhada que justifique a sua cobrança.

O técnico confirmou com a cabeça o pedido e foi embora.

Na manhã seguinte, o presidente recebeu a fatura, leu-a com cuidado, balançou a cabeça e resolveu pagá-la no ato, sem pestanejar.

A fatura dizia:

Detalhe dos serviços prestados:

1) Apertar um parafuso… $ 1 dólar

2) Saber qual parafuso apertar… 999 dólares
 

filipeck

Power Member
Sim é mas tem que trabalhar com código foi o que eu quis dizer senao tar a dar cliques qualquer um faz isso basta ser um técnico de informática.. 🙂

És engenheiro informático?

Para mim tudo o que estás a dizer aqui apenas revela muita falta de experiência na área.

Em empresas tens equipas inteiras para gerir o ciclo inteiro de um desenvolvimento de um produto, desde o planeamento, à infraestrutura, à codificação da solução.

Acho que estar a criar uma solução proprietária não vai de acordo com os interesses da empresa. 50k ano é pouco dinheiro comparando com desenvolver e manter um produto equivalente.

Eu sou engenheiro informático e trabalho maioritariamente no backend das soluções, já há uns 6 anos e não tenho os conhecimentos necessários para fazer o que um gajo de infraestrutura faz a 100%. Pode ser que eu seja incompetente tho.
 

ric7

Power Member
És engenheiro informático?

Para mim tudo o que estás a dizer aqui apenas revela muita falta de experiência na área.

Em empresas tens equipas inteiras para gerir o ciclo inteiro de um desenvolvimento de um produto, desde o planeamento, à infraestrutura, à codificação da solução.

Acho que estar a criar uma solução proprietária não vai de acordo com os interesses da empresa. 50k ano é pouco dinheiro comparando com desenvolver e manter um produto equivalente.

Eu sou engenheiro informático e trabalho maioritariamente no backend das soluções, já há uns 6 anos e não tenho os conhecimentos necessários para fazer o que um gajo de infraestrutura faz a 100%. Pode ser que eu seja incompetente tho.
Basicamente ele pensa que consegue fazer tudo sozinho mas ele não tem ainda noção das coisas, e não leves a mal eu dizer isto, porque eu no passado também pensava assim. E como já referiram aqui, depois quando for preciso escalar, mudar o produto, vais perceber o que queremos dizer.
 
Status
Fechado a novas mensagens.
Topo