De uma maneira geral, Utility Computing é uma evolução do Outsourcing de TI, com uma diferença, não seremos mais “donos dos sistemas” e sim “donos dos processos e informações”, acho que sempre deveria ser assim!

A Utility Computing não um paradigma tão novo, algumas empresa de Outsource já fazem isso, cobram por uso e demanda.

Agora, imaginemos uma empresa de marketing, onde gestão de TI não é o “core do negócio”! Então, me faz total sentido “alugar” máquinas e sistemas para fazer a Gestão Empresarial, Pagamentos, Rebecimentos, Portais de Intranet, Sites de Internet, CRM, e inclusive de manufatura, deixando mais fôlego para a empresa fazer e produzir em “Marketing”. Nesse caso TI passa a ser de suporte ao negócio efetivamente.

E é uma grande tendência de mercado, principalmente pelo controle de custos, pois atualmente nas empresas não se sabe quanto se gasta com TI, nem quanto poderia ser enconomizado.

Esta tendência aponta inclusive para o aluguel de aplicativos ou sistemas que fazem parte do suporte ao core business das empresas, vale lembrar que Gestão de TI é sempre complexo, por isso deve ser feito por empresas especializadas.

Dentro da Utility Computing temos os conceitos de On-Demand (sob demanda), Rent ( aluguel ), Virtualization ( virtualização ), Grid ( rede de computadores interligados que operam conjuntamente ) que possibilitam a implementação eficaz e eficiente dos serviços, permitindo o controle necessário para uma cobrança justa dos serviços utilizados.

A Utility Computing abrigará que as empresas se re-estruturem internamente, diminuindo o quadro de funcionários que não operam o “negócio” e fazem tarefas de BackOffice, e aumentando o quadro de funcionários que conhecem e fazem o “negócio” acontecer, até porque “negócios” são feitos por pessoas e não por computadores.

Você pode encontrar mais recursos nos sites lá de fora, onde a Utility já saiu da zona de descoberta e passa a ser realidade para algumas grandes empresas!

Se eu fosse o CEO de uma empresa, obrigaria meu CIO a usar o máximo de Utility Computing, diminuindo os custos de gestão das estruturas complexas de TI, focando a empresa ao máximo no “negócio”…

PageRank

Vários alunos me perguntam as diferenças dos papéis no mercado de trabalho relacionados ao desenvolvimento e engenharia de software, e é sempre dificil traçar o perfil o exato de cada papel e garantir a fronteira entre eles.

Vejo todos os dias inúmeras vagas com perfis tão exigentes no Apinfo, mas separadas em pouquíssimos papéis, o que me leva a crer que as empresas terceirizadoras de serviços de TI (as famozas consultorias) na maioria das vezes não sabe o que procurar no mercado.

O pior anuncio é aquele que procura Analista Programador, pois é o que exigirá mais responsabilidade profissional com menor remuneração, pois esse papel tem inúmeras funções e atribuições das duas áreas mas geralmente paga muito pouco a mais que um cargo de Programador.

Conversando com amigos que estão no exterior (Inglaterra, Angola, USA, Chile e Índia) descobri que os brasileiros se sobresaem com relação á outros povos neste quesito, justamente pela flexibilidade e capacidade de desempenhar vários papéis, a diferença é que nesses paízes as empresas valorizam mais esta capacidade que as empresas do Brasil.

Papéis e atribuições

  • Arquiteto: definir e manter atualizados os padrões de soluções e tecnologias que serão utilizadas durante o projeto, para cada tipo/conjunto de funcionalidades, separadas pelos requisitos não funcionais e sempre levando em consideração as interfaces de comunição entre os diferentes componentes do software.
  • Engenheiro: definir e manter atualizados as informações referente ao projeto de infra-estrutura e integração entre os componentes físicos desde a rede até o ambiente de aplicações.
  • Administrador: dar sustentação ao ambiente de software/hardware, fazendo as implementações da infra-estrutura e administrando os ambientes operacionais e servidores.
  • Analista: levantar, racionalizar e especificar junto aos usuários diretos e indiretos os requisitos funcionais do software, bem como realizar os testes de homologação.
  • Projetista: projetar (criar as realizações dos casos de uso racionalizados pelo analista) o software baseado nos padrões definidos pelo arquiteto levando em conta as tecnologias/linguagens que serão utilizadas.
  • Programador: codificar os componentes do software baseado na documentação elaborada pelo projetista e pelo analista, fazer os testes iniciais de cada componente.
  • Desenvolvedor: integrar os componentes do software baseado na arquitetura e seguindo as realizações do projetista, fazer os testes integrados.

Níveis de experiência (por área)

  • até 1 ano de experiência - Júnior
  • de 1 a 3 anos de experiência - Pleno
  • de 3 a 5 anos de experiência - Sênior
  • mais de 5 anos de experiência - Especialista

Vamos levar para dentro das empresas, e durante as entrevista de emprego, esse conceitos símples, de como cada papel deve atuar, permitindo que o mercado regule os valores das remunerações de acordo com cada papel e evitando distorções.

Comente, dê sua opnião sobre nossa categoria de trabalho, somente assim podemos exercer nossos direitos caso a Regulamentação das Profissões da Informática venha a ganhar força no congresso.

Boa sorte

PageRank

Seguindo as tendências do mercado para os próximos anos e apresentadas no Java One 2007, criei um modelo para aplicações baseadas em WEB 2.0 usando os conceitos de AJAX, e baseado no framework DWR (Direct Web Remoting) (http://getahead.org/dwr/) associado a EJB3 e JPA da Java EE 5.

Para a Interface com o Usuário, foram escolhidos os Widgets do EXT JS (http://www.extjs.com) que combinados com páginas JSPs permitem a geração dinâmica da UI (Interface do Usuário).

Com o uso extensivo de CSS e de DIVs (TABLELESS), pode-se trocar imagens e mudar o visual facilmente, criando o conceito de temas.

A integração do DWR com os Serviços da Aplicação baseados em Façades e Delegates implementados com SessionBean Stateless funciona muito bem, deixando o controle de transações a cargo do EJB Container

E como o maior problema de qualquer aplicação grande é ligar a camada de serviços com a camada de persistência, adotei a estratégia de usar o padrão de DAO (Data Access Objects) abstraindo as chamadas de NamedQueries do JPA

O resultado foi muito bom, o que levou a batizar este modelo de Fast Dev Framework, que combinado á componentes já consolidados na comunidade Java, fornece mecanismos de filtro, paginação, relatórios, autenticação, autorização em bancos de dados ou LDAP, mecanismos de mensageria, scheduler, sem esquecer de logging e auditoria, permitindo a criação de aplicações complexas com qualidade, aderentes ao padrão Java EE e em tempo recorde!


Este framework está testado e homolgoado para:

  • WebServers: SUN, APACHE e IIS
  • AppServers: Java EE 5 .
  • DBServers: Oracle e MySQL.

  • Fast Dev Framework

    PageRank

    Recentemente avaliei um Engine de GRID composto de uma API simples e extremamente robusto capaz de executar tarefas num ambiente de GRID 100% Java, sem depender de nenhum outro software terceiro

    O JPPF (Java Parallel Processing Framework) permite escrever aplicações Java que se beneficiem de mecanismos de provisionamento de dados e execução de tarefas de longa duração em ambientes de GRID, com monitoramento simplificado e com uma diminuição considerável dos tempos de processamento

    O ambiente de execução é composto de:

    • um DRIVER que é responsável por monitorar os nós do GRID bem como distribuir as classes Java (Remote Class Loading) das tarefas (Task) para os nós
    • um ou mais NODES que são responsáveis por executar as tarefas

    O DRIVER e cada um dos NODES roda em uma JVM (Java Virtual Machine) exclusiva, que pode estar inclusive em servidores de menor porte ou de grande porte aplicando conceitos de virtualização bem como configurar e gerenciar cada um dos NODES adequadamente.

    Topologia:

    Topologia JPPF

    Caso sua empresa necessite de diminuir os tempos e os custos de processamento de BI, ETL e DW, podemos desenvolver soluções específicas baseado nesta tecnologia

    Referências: JPPF.org

    PageRank

    Como nesse páis nada é sério, a regulamentação da TV Digital no Brasil tem intenções de bloquear a gravação do sinal para formatos de mídia como CD ou DVD conforme notícia veículada .

    Tal ato só irá criar ainda mais marginalização no nosso país pois estimulará os harckers a criar chips decoficadores que permitirão a gravação, criando mercados paralelos, como acontece com consoles de jogos, CDs, DVDs e etc.

    Seguindo os preceitos do direito natural, fazer uma cópia de qualquer objeto com direito autoral reservado e protegido só constitui crime no caso de comercialização ou distribuição em prévia autorização do autor/proprietário da obra.

    Tenho total direito copiar meus CDs/DVDs para protegê-los do desgaste, bem como de gravar meus programas te TVs preferidos e assistí-los onde e quando eu desejar.

    Vamos distribuir essa notícia por ai e formar opniões a fim de evitarmos tal atrocidade.

    PageRank

    Manual prático do “Bem viver”, por Claudio Augusto Teixeira

    1. Defina seus objetivos: “Nenhum vento sopra a favor de quem não sabe onde vai.”

    2. Tenha consciência dos seus atos: Você é responsável por aquilo que cativas!

    3. Afirme somente se tiver certeza; acredite somente se lhe derem fatos; gaste somente se souber de onde tirar os fundos; coma somente se tiver fome; durma somente se tiver sono e, em caso de dúvida, fique na sua e siga seu próprio nariz.

    4. Abrace muito, beije mais ainda e ria, já que a vida é de graça.

    5. Peça - sempre haverá alguém que lhe dará o que você está precisando.

    6. Despeça-se do que já passou - quem vive de passado é museu.

    7. Pare de se preocupar. Suas desgraças nunca serão do tamanho que você pensa. Nem seus êxitos.

    8. Perdoe-se por suas burrices e fracassos. Se você não se perdoar, vai ser inútil pedir desculpas ou dizer “sinto muito” a quem quer que seja.

    9. Reze para agradecer, nunca para pedir. Você já recebeu mais do que suficiente para crescer e ser feliz.

    10. Não perca tempo em discussões inúteis. Ao invés de brigar, cante uma canção do JQuest, tome um banho frio ou vá dar uma volta de bicicleta no parque.

    11. Desista de fazer a cabeça dos outros:
    - o que eles pensam de você não é da sua conta.


    Adote a filosofia do CAVALO NA PARADA DE 7 DE SETEMBRO: “cagando, andando e sendo aplaudido”.

    12. Cuide de si mesmo como se estivesse cuidando do seu melhor amigo.

    13. Expresse a sua individualidade. Apóie-se em seus talentos e virtudes. Concentre-se em seus objetivos. Pare de fumar, e faça ginástica 3x por semana. Mude algo em si mesmo todos os dias. Abra-se com alguém.

    14. Faça alguma coisa que sempre desejou fazer, que pode fazer, mas que tinha vergonha.

    15. Cometa erros novos.

    16. Simplifique sua vida.

    17. Deixe bagunçado.

    18. Pare de frescura.

    19. Acredite no amor nada no mundo é mais digno de crédito. AME, não é vexame nenhum.

    20. Nunca pense que o amor é uma “água morna”. Onde há amor há respeito pelas diferenças, onde as diferenças são aceitas. Existem pontos de vista contrários, e onde existem pontos de vista contrários, há conflitos e desentendimentos.

    21. Não se intrometa na vida dos outros, nem julgue as pessoas de jeito nenhum. Deixe-as ser como são e curta o melhor de cada uma.

    22. Grandes amizades não se perdem em pequenas disputas. Se se perderem, é porque não eram nem amizades, muito menos grande.

    23. Leia o que está escrito, ouça o que é dito e, se não compreender, pergunte. Não tenha vergonha de perguntar o que não sabe. É assim que se aprende.

    PageRank

    Outra entrada de meu blog.

    Fonte: 2 Solutions - Hildebrando

    Utilizo a tecnologia Java em todos os projetos da 2Solutions, com raras exceções. Com isso acabei me tornando um especialista. Tenho consciência que não sei tudo, aliás acredito que não existe aquele “especialista de tudo”.

    Quero indicar alguns caminhos para qualquer um virar um especialista Java. Com certeza ja existe algum texto semelhante na internet (google), no entanto quero fazer uma coisa diferente, focada no perfil do nosso pessoal. E como eles viraram especialistas também.

    1 - Faça uma faculdade de tecnologia
    Existe muita discussão neste assunto, precisa ou não precisa fazer uma faculdade para entrar no mercado de trabalho de TI. Uma coisa que aprendi na minha carreira de instrutoria Java é que só o fato de a pessoa fazer uma faculdade, as coisas acabam fluindo mais fáceis. Se você vai fazer ou não, fica a seu criterio, porém saiba que nem todo mundo é auto-didata, inclusive a grande minoria. Mesmo a faculdade sendo dispersiva em alguns assuntos, como as inúmeras materias de matemática em Ciência da Computação, tudo acaba agregando na sua formação.

    2 - Faça um curso de Java
    Existem livros, tutorias, apostilas, exemplos e mini-cursos que ajudam muito no seu aprendizado. Porém você tem que ter experiência com este estudo auto-didata. Exige disciplina e organização. A ideia de fazer curso envolve apenas 2 variaveis. Tempo e dinheiro. Se você tem tempo e não tem dinheiro estude em casa. Se você tem dinheiro e não tem tempo faça um curso.

    Java em si é uma lingaguem simples.O grande problema é a parte de orientação a objetos. Isso é complicado. Envolve conceitos de alto nivel e abstrações. Aprender Java é diferente de aprender VB que você compra uma revista na banca e naquele mesmo dia você ja tem algo funcionando. É por isso que eu indico fazer cursos.

    3 - A unica coisa que começa de cima é buraco
    Tradução para paciência. Nesta hora precisamos ter humildade e seguirmos o papel de aprendiz. Você pode ser especialista em outras linguagens ou ja ser um cara que conhece muito de Hardware, no entanto com linguagens de programação o papo é diferente. Voce tem que aprender as manhas. Apanhar muito. E acima de tudo pergutar. Entre em foruns e listas de discussão. Mande duvidas, sempre seguindo as boas maneiras nestes ambientes.

    4 - Arrume um trabalho na área
    Essa parte é a mais difícil, porque as empresas so querem gente com experiência. Dai aparece o problema do ovo e da galinha. Sugestão: Faça projetos seus. Desenvola uma agenda, um cadastro de estoque da sua casa, um controle de gastos com combustível. Eu faço um trabalho de seleção aqui na empresa e para mim um projeto pessoal ou academico serve sim como experiência, e inclusive tem um atrativo a mais pois demonstra pró-atividade.

    5 - Banco de Dados
    Não pense em se tornar um especialista de banco de dados. Você tem que conhecer SQL. O banco é indiferente. Mas aproveite e faça o seguinte. Entre no site do MySQL e baixe o MySQL e suas ferramentas. Falo do MySQL pois considero a versão para Windows muito NNF (Next,Next,Finish), isso é bom para quem esta começando. Fazer um curso de SQL pode te ajudar muito, porém não é imprescindível, SQL é um pouco mais simples que as linguagens de programação de alto nível. Porém cai naquele mesmo assunto que conversei.

    6 - Tenha contatos da área
    Não estou falando em ter melhores amigos na área e sim formar uma rede de conhecidos que tenham o gosto pela tecnologia como característica comum. Nos cursos voce conhece muita gente, outros lugares são os eventos. Acho que as unicas panelas que existem nos eventos são dos que estão palestrando e dos que não estão palestrando. Não precisa comprar o livro ‘como fazer amigos’, apenas vai se misturando com pessoas que estão em situações parecidas com a sua. Isso vai ajudar a todos.

    7 - Atividades e Cronograma (Estratégia Auto-didata freestyle)
    a) Compre um livro de Java Fundamentos - 1 dia
    b) Leia o livro (pois é, só comprar não adianta) - 1 mês - Se você achou muito é porque nunca leu um livro de tecnologia. Estas não são leituras narrativas. Você tem que sempre voltar, reler e refazer exercícios.
    c) Compre um outro livro de JEE - 1 dia - Esta parte JEE é a que envolve WEB e Serviços de mais alto nível. Resumindo, é aonde esta o dinheiro ($$$$$). NUNCA COMECE POR UM LIVRO DE JEE SEM ANTES PASSAR PELOS FUNDAMENTOS.
    d) Leia o livro, faça os exercícios e desenvolva um sistema de cadastro de Jogadores de futebol. Utilizando JSP/Servlets e JDBC - 1 mês
    e) Desenvolva um outro sistema de cadastro, porém agora um de animais em um zoologico - 1 mês
    f) Faça o seu curriculum ja incluindo os projetos que você desenvolveu. Junto a isso vá estudando frameworks de mercado como Struts e Hibernate - 1 mês

    Não quero discutir a qualidade do profissional após o cronograma. No entanto você ja esta encaminhado para iniciar no mercado. É isso mesmo, INICIAR. Você é um iniciante no assunto. Tem muito que aprender. Uma faculdade ira te ajudar e muito nisso, porém tenha paciência. Quanto a dinheiro e conhecimento. Não queira aprender tudo e seja humilde o suficiente para aceitar a sua situação de aprendiz.

    Boa Sorte

    PageRank

    Colocando aqui um post que tinha colocado em meu blog.

    Pra quem gosta de aprender por exemplos, um link bastante legal:

    A Sun disponibilizou alguns exemplos de programas em Java 6, bastante didático.
    Basta entrar ver o código, executar e copiar para usar.

    No momento tem um código para criar um ícone na barra de tarefas, como fazer uma tela de entrada (splash screen) e como usar o Rhino Javascript API.

    http://java.sun.com/reference/stealourcode/

    PageRank

    Nos últimos 4 anos trabalhei diretamente em projetos corporativos ligados á empresas que possuem milhares de processos de negócios escritos em COBOL e outras linguagens rodando em servidores IBM MainFrame , e nesta temporada acompanhei a entrada massiça de aplicações Java no ambiente UNIX e uma entrada lenta e vagarosa de aplicações Java Enterprise no ambiente MainFrame inpulsinodo pelo WebSphere Application Server for Z/OS.

    O nossos colegas de profissão chamados carinhosamente de “Dinosauros” da TI, tem na média 30 anos de experiência a mais que os profissionais que chegam ao mercado todos os dias, entretanto, eles estão se deparando com um novo paradígma, de rodar aplicações Web no ambiente MainFrame , que até pouco tempo atrás só tinha a telinha do terminal TN3270 ou acesso via SNA

    Essa mudança ( talvez forçada pela própria IBM ) está trazendo preocupações para os CIOs e CEOs dessas empresas, principalmente pelos novos conceitos de SOA e de Orientação a Objetos e UML , ou seja, se não bastasse ter mais linguagens e tecnologias suportadas, tem-se um novo modelo orientado a serviços e não a processos.

    Para piorar o problema, cada vez mais profissionais do ambiente MainFrame se aposentam e os profissionais que entram no mercado não dominam as tecnologias deste ambiente.

    Em 2006 o Gartner Group publicou um estudo que mostra que dos profissionais atuais do ambiente MainFrame apenas 30% teriam capacidade de assimilar novas tecnologias como o Java Enterprise .

    Atualmente, muitos sistemas corporativos escritos em COBOL tem clientes ricos, principalmente construidos usando a plataforma Java Enterprise, assim nasce o JAVABOL, ponta cliente em Java rodando em Servidores UNIX e processos de negócios em COBOL no MainFrame.

    Acho que está na hora das faculdades retomarem as disciplinas de COBOL e de Análise Estruturada e seus Diagramas para suprir essa deficiência, e das empresas investirem um pouco na reciclagem dos Analistas e Programadores da plataforma MainFrame, só assim teremos custos e riscos menores de TI com o recurso de “peopleware” que atua nesta plataforma atualmente.

    O Futuro não podemos prever, mas atualmente a coexistência de aplicações Java Enterprise integradas com sistemas coporativos que rodam em MainFrame é perfeita.

    Viva o JAVABOL!

    PageRank

    Área reservada para discussões OFF-TOPIC onde podemos discutir hobbies, atividades de projetos, troca de indicações profissionais, etc

    PageRank

    « Página Anterior - Próxima Página »