quinta-feira, 12 de fevereiro de 2009

Rumos do Windows....

Fazendo uma pesquisa sobre sistemas operacionais encontrei essa noticia no site: http://www.itweb.com.br/noticias/index.asp?cod=54852



Windows precisa migrar para o código aberto?

por Charles Babcock | InformationWeek EUA

12/02/2009

Especial com cinco reportagens, que você acompanha a partir desta quinta-feira (12/02), discute os desafios da Microsoft

Imagine que o sistema operacional Windows, da Microsoft, um dia passará a ter código aberto e que observadores especializados dirigirão a você um olhar maligno - e talvez, até mesmo deem uma gargalhada. "Eu tenho que rir", comenta o analista da Forrester Research, John Rymer, em resposta à pergunta sobre o assunto. "Não, não acredito que o Windows um dia adotará o código-aberto".

Então, o Windows nunca se tornará um projeto de open source, do mesmo modo que o Linux, com dois mil desenvolvedores espalhados pelo mundo todo? A Microsoft já tem problemas suficientes com seus próprios desenvolvedores encaminhando código, independentemente de todos aqueles intrusos. E admitirei que algum código aberto do Windows provavelmente nunca verá a luz do dia.

Mas as pessoas estão erradas quando assumem que a Microsoft nunca moverá o Windows para o caminho do open source. A fim de neutralizar as vantagens do Linux e de outros concorrentes no setor, a companhia terá de tornar o Windows mais semelhante a eles. Se não fizer isso, estará correndo o risco de perder sua base com mais de 6 milhões de desenvolvedores, que torna excelente a plataforma. Talvez, a empresa não queira liberar o sistema operacional para o mundo, mas irá fazê-lo. Na verdade, precisa fazê-lo.

A Microsoft se preocupa com duas coisas: sua lucrativa linha de software e os programadores externos, que agregam valor à sua plataforma central com suas próprias inovações. A companhia realizou um trabalho de mestre, cultivando esses seguidores, dando a eles ferramentas, lançamentos de código inicial e informações sobre os recursos que ainda seriam acrescentados, a fim de mantê-los engajados.

Contudo, a Microsoft está enfrentando um dilema quanto à sua linha de produtos. O rendimento que a empresa obtém com clientes Windows, incluindo o Vista, declinou 8% no trimestre encerrado em 31 de dezembro de 2008, e o Vista acabou se tornando um empecilho para o marketing, com sua reputação de ter um sistema operacional intrusivo e com baixo desempenho. A resposta, entretanto, não é o Windows 7, que é mais como um pacote de serviços do Vista do que uma nova plataforma. Os desafios da Microsoft são mais difíceis do que isso, e manter seu fluxo de rendimentos com o Windows não é como um final de jogo, em que se tenta vencer a qualquer custo.

Riqueza com aplicativos

Como se sabe, o Windows XP gera um lucro de cerca de US$ 34 cada vez que é carregado em um novo PC entregue por um fabricante, que é o modo pelo qual a maioria das pessoas obtém uma nova cópia. O Microsoft Office, por outro lado, gera um total de até 12 vezes essa quantia, dependendo de qual versão da suíte é fornecida integrada com um PC.

O Office e aplicativos relacionados, como o Publisher e o Office Mobile, não geram somente os rendimentos obtidos com as licenças, eles também se vinculam aos aplicativos de servidor da Microsoft. O preço inicial do SharePoint é de US$ 4.350, com desconto, de acordo com o serviço on-line NexTag, que procura pelos menores preços de software disponíveis.

Em outras palavras, pode ser que o Windows tenha estabelecido a Microsoft, mas sozinho ele não pode sustentar a companhia. São os aplicativos que dão a ela sua vantagem competitiva - e que geram bilhões de dólares de puro lucro.

Além disso, os aplicativos da Microsoft são vulneráveis. Os formatos de arquivos proprietários que têm protegido os aplicativos da Microsoft estão sendo substituídos pelo Office Open XML, o formato padrão do Office 2007 e agora considerado um padrão internacional.

Sendo assim, pela primeira vez, não existem impedimentos técnicos verdadeiros para que outros fabricantes atuem no mercado de aplicativos para usuários finais, e os concorrentes estão surgindo. As alternativas para o Office incluem o Lotus Symphony, da IBM; o Star Office, da Sun Microsystems; o projeto do Open Office, o Google Docs; os aplicativos Zimbra, de código aberto, da Yahoo, e o Zoho.

Será que as companhias irão levar essas alternativas a sério? Pela primeira vez, o Burton Group está recomendando aos clientes que perguntem como economizar dinheiro, em uma época de recessão, para "visualizarem um ambiente dividido", no qual eles implementam o Office no Windows para os usuários mais exigentes, e o Google Apps, para outros usuários. "Esta divisão pode reduzir muito os custos com a obtenção de licenças, sem afetar seriamente a produtividade", explica o analista da Burton, Guy Creese.

Tanto as empresas iniciantes, quanto os fabricantes mais consagrados, estão começando a oferecer PCs executando o Linux, com suítes de aplicativos de código aberto, que incluem o HP Linux dc 5850, da HP, e o Mini 9, com o Ubuntu Linux, da Dell. Eventualmente, alguém conseguirá obter o equilíbrio entre funcionalidade e preço.

domingo, 4 de maio de 2008

DFJUG

Ola queridos colegas desenvolvedores Java, estou postando pela primeira vez aqui... Eu já tenho algum conhecimento sobre Java então resolvi colocar um link de um site que é um espetaculo sobre Java...
http://www.dfjug.org/DFJUG/ Aproveitem ao máximo esse site...
Quaisquer problemas entrem em contato... Bjus

sábado, 3 de maio de 2008

Como instalar e configurar o JDK

Vejo em muitos foruns e comunidades, pessoas com dificuldade de instalar e configurar o JDK( Java SE Develop Kit), vou fazer um breve tuturial de como baixar, instalar e configurar as variaveis de ambiente.



1º-Passo: Baixe o JDK no site oficial da Sun (criadora do JAVA) -> Download
2°-Passo: Instalando o JDK


Depois ter baixado o JDK voce precisara instala-lo no HD. Siga os passos abaixo para instala-lo


Execute o instalador




Prossiga na instalaçao




Agora somente sigua os passos abaixo

3°-Passo: Configurando as variaveis de ambiente




Depois de ter o JDK instalado, so falta-nos agora definir algumas variaveis de ambiente e pronto, ja podera começar a programar em JAVA




Primeiramente voce deve ir em propriendade do sistema (clicando com o botao direito do mouse em cima do meu computador e indo em propriedades, ou atravez do painel de controle, no icone sistema), depois de feito isso, voce devera setar as variaveis, clique na guia avançado




Depois clique no botao variaveis de ambiente



Proucure pela variavel PATH, e adcione os valores precedidos de ponto-e-virgula(;):


C:\Arquivos de programas\Java\jdk1.7.0\bin


C:\Arquivos de programas\Java\jre1.7.0\bin





Apos feito isso, voce tera configurado o JDK para compilar e executar seus aplicativos via linha de comando (MSDOS)


Fiquem com Deus e um grande abraço!


sexta-feira, 2 de maio de 2008

The Begin




Como muitos ja sabem, a linguagem de programaçao JAVA esta se tornando um padrao no mercado e com a finalidade de ajudar no aprendizado, tanto no meu quanto no de outras pessoas, resolvi criar este blog,. Sou iniciante nessa linguagem, nao tenho total conhecimento, mas estou disposto a dividir os conhecimentos que ja adquiri com todos que desejam, e pesso a ajuda de voces tambem para o crescimento da linguagem, ajudar e preciso.


Para começarmos, vou falar um pouco sobre a linguagem!


Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um "bytecode" que é executado por uma máquina virtual. A linguagem de programação Java é a linguagem convencional da Plataforma Java, mas não sua unica linguagem.
Em 1991, na
Sun Microsystems, foi iniciado o Green Project, o berço do Java, uma linguagem de programação orientada a objetos. Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. O objetivo do projeto não era a criação de uma nova linguagem de programação, mas antecipar e planejar a “próxima onda” do mundo digital. Eles acreditavam que, em algum tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia.
Para provar a viabilidade desta idéia, 13 pessoas trabalharam arduamente durante 18 meses. No verão de 1992 eles emergiram de um escritório de Sand Hill Road no Menlo Park com uma demonstração funcional da idéia inicial. O protótipo se chamava *7 (leia-se “StarSeven”), um controle remoto com uma
interface gráfica touchscreen. Para o *7, foi criado um mascote, hoje amplamente conhecido no mundo Java, o Duke. O trabalho do Duke no *7 era ser um guia virtual ajudando e ensinando o usuário a utilizar o equipamento. O *7 tinha a habilidade de controlar diversos dispositivos e aplicações. James Gosling especificou uma nova linguagem de programação para o *7. Gosling decidiu batizá-la de “Oak”, que quer dizer carvalho, uma árvore que ele podia observar quando olhava pela sua janela.
O próximo passo era encontrar um mercado para o *7. A equipe achava que uma boa idéia seria controlar televisões e vídeo por demanda com o equipamento. Eles construíram um demo chamado MovieWood, mas infelizmente era muito cedo para que o vídeo por demanda bem como as empresas de
TV a cabo pudessem viabilizar o negócio. A idéia que o *7 tentava vender, hoje já é realidade em programas interativos e também na televisão digital. Permitir ao telespectador interagir com a emissora e com a programação em uma grande rede cabos, era algo muito visionário e estava muito longe do que as empresas de TV a cabo tinham capacidade de entender e comprar. A idéia certa, na época errada.
Entretanto, o estouro da
Internet aconteceu e rapidamente uma grande rede interativa estava se estabelecendo. Era este tipo de rede interativa que a equipe do *7 estava tentando vender para as empresas de TV a cabo. E, da noite para o dia, não era mais necessário construir a infra-estrutura para a rede, ela simplesmente estava lá. Gosling foi incumbido de adaptar o Oak para a Internet e em janeiro 1995 foi lançada uma nova versão do Oak que foi rebatizada para Java. A tecnologia Java tinha sido projetada para se mover por meio das redes de dispositivos heterogêneos, redes como a Internet. Agora aplicações poderiam ser executadas dentro dos browsers nos Applets Java e tudo seria disponibilizado pela Internet instantaneamente. Foi o estático HTML dos browsers que promoveu a rápida disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o número de usuários cresceu rapidamente, grandes fornecedores de tecnologia, como a IBM anunciaram suporte para a tecnologia Java.
Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra
linguagem de programação na história da computação. Em 2003 Java atingiu a marca de 4 milhões de desenvolvedores em todo mundo. Java continuou crescendo e hoje é uma referência no mercado de desenvolvimento de software. Java tornou-se popular pelo seu uso na Internet e hoje possui seu ambiente de execução presente em web browsers, mainframes, SOs, celulares, palmtops e cartões inteligentes, entre outros.
Em
1997 a Sun Microsystems tentou submeter a linguagem a padronização pelos orgãos ISO/IEC e ECMA, mas acabou desistindo. Java ainda é um standard de fato, que é controlada através da JCP Java Community Process. Em 13 de Novembro de 2006, a Sun lançou a maior parte do Java como Software Livre sob os termos da GNU General Public License (GPL). Em 8 de Maio de 2007 a Sun finalizou o processo, tornando praticamente todo o código Java como software de código aberto, menos uma pequena porção que a Sun não possui copyright.
A linguagem Java foi projetada tendo em vista os seguintes objetivos:
Orientação a objeto - Baseado no modelo de Smalltalk e Simulaçao;
Portabilidade - Independência de plataforma - "write once run anywhere";
Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos
TCP/IP, como HTTP e FTP;
Segurança - Pode executar programas via rede com restrições de execução;
Além disso, podem-se destacar outras vantagens apresentadas pela linguagem:
Sintaxe similar a
Linguagem C/C++.
Facilidades de Internacionalização - Suporta nativamente caracteres
Unicode;
Simplicidade na especificação, tanto da linguagem como do "ambiente" de execução (
JVM);
É distribuída com um vasto conjunto de bibliotecas (ou
APIs);
Possui facilidades para criação de programas distribuídos e
multitarefa (múltiplas linhas de execução num mesmo programa);
Desalocação de memória automática por processo de
coletor de lixo (garbage collector);
Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.
Programas Java não são traduzidos para a
linguagem de máquina,como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada de bytecodes.
Os
bytecodes são interpretados pela máquina virtual Java (JVM - Java Virtual Machine). Muitas pessoas acreditam que por causa desse processo, o código interpretado Java tem baixo desempenho. Durante muito tempo esta foi uma afirmação verdadeira. Porém novos avanços têm tornado o compilador dinâmico (a JVM), em muitos casos, mais eficiente que o compilador estático.
Java hoje já possui um desempenho próximo do C++. Isto é possível graças a otimizações como a compilação especulativa, que aproveita o tempo ocioso do processador para pré-compilar bytecode para código nativo. Outros mecanismos ainda mais elaborados como o
HotSpot da Sun, que guarda informações disponíveis somente em tempo de execução (ex.: número de usuários, processamento usado, memória disponível), para otimizar o funcionamento da JVM, possibilitando que a JVM vá "aprendendo" e melhorando seu desempenho. Isto é uma realidade tão presente que hoje é fácil encontrar programas corporativos e de missão crítica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos utiliza a tecnologia Java para construir seus home banks, que são acessados por milhares de usuários diariamente. Grandes sítios como o eBay utilizam Java para garantir alto desempenho. E a cada ano Java tem se tornado mais rápido, na medida que se evolui o compilador dinâmico [6][carece de fontes?].
Essa implementação no entanto tem algumas intrínsecas. A pré-compilação exige tempo, o que faz com que programas Java demorem um tempo significativamente maior para começarem a funcionar. Soma-se a isso o tempo de carregamento da máquina virtual. Isso não é um grande problema para programas que rodam em servidores e que deveriam ser inicializados apenas uma vez. No entanto isso pode ser bastante indesejável para computadores pessoais onde o usuário deseja que o programa rode logo depois de abri-lo. A próxima versão da máquina virtual produzida pela Sun promete novos recursos que irão minimizar este fato.
1
O Java ainda possui uma outra desvantagem considerável em programas que usam bastante processamento numérico. O padrão Java tem uma especificação rígida de como devem funcionar os tipos numéricos. Essa especificação não condiz com a implementação de pontos flutuantes na maioria dos processadores o que faz com que o Java seja significativamente mais lento para estas aplicações quando comparado a outras linguagens.
Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de
engenharia reversa para a recuperação do programa-fonte original. Esta é uma característica que atinge em menor grau todas as linguagens compiladas. No entanto já existem hoje tecnologias que "embaralham" e até mesmo criptografam os bytecodes praticamente impedindo a engenharia reversa.




Extensões:
Extensões em Java:
J2SE (Standard Edition)
J2EE (Enterprise Edition)
J2ME (Micro-Edition for PDAs and cellular phones)
JCE (Java Cryptography Extension)
JMF (Java Media Framework)
JNDI (Java Naming and Directory Interface)
JSML (Java Speech API Markup Language)
JDBC (Java Database Connectivity)
JMS (Java Message Service)
JAAS (Java Authentication and Authorization Service)
JDO (Java Data Objects)
JAIN (Java API for Integrated Networks)
JDMK (Java Dynamic Management Kit)
Jini (a network architecture for the construction of distributed systems)
Jiro
JXTA (open source-based peer-to-peer infrastructure)
Java Card
JavaSpaces
JMI (Java Metadata Interface)
JMX (Java Management Extensions)
JSP (JavaServer Pages)
JSF (JavaServer Faces)
JNI (Java Native Interface)
J3D (A high level API for 3D graphics programming)
JOGL (A low level API for 3D graphics programming, using OpenGL)
OSGi (Dynamic Service Management and Remote Maintenance)
SuperWaba (JavaVMs for handhelds)
MARF (Modular Audio Recognition Framework)
JavaFX

Frameworks
É possível utilizar
frameworks para facilitar o desenvolvimento de aplicações. Dentre os mais utilizados pode-se destacar:
Hibernate ferramenta para ORM;
Spring ferramenta que auxilia principalmente implementação de injeção de dependências e inversão de controle;
Log4j ferramenta para facilitar a criação de logs na aplicação;
Junit ferramenta para auxiliar na criação de testes unitários;
Struts controlador MVC (Model 2) web.

Ambientes de desenvolvimento
É possível desenvolver aplicações em Java através de vários
ambientes de desenvolvimento integrado (IDE's). Dentre as opções mais utilizadas pode-se destacar:
Eclipse — um projeto aberto iniciado pela IBM;
NetBeans — um ambiente criado pela empresa Sun Microsystems;
JBuilder — um ambiente desenvolvido pela empresa Borland;
JDeveloper — uma IDE desenvolvida pela empresa Oracle;
JCreator — um ambiente desenvolvido pela Xinox.
BlueJ — um ambiente desenvolvido por uma faculdade australiana(muito bom para iniciantes).
Greenfoot — bem parecido com o BlueJ
JGRASP — bom para intermediários, feito pela equipe do projeto GRASP.
IntelliJ IDEA — uma IDE desenvolvida pela JetBrains (considerada por muitos a melhor IDE do mercado).

Certificações
Existem 8 tipos de certificações da
Sun Microsystems para Java:
Sun Certified Enterprise Architect (SCEA)
Sun Certified Mobile Application Developer (SCMAD)
Sun Certified Developer For Java Web Services (SCDJWS)
Sun Certified Business Component Developer (SCBCD)
Sun Certified Web Component Developer (SCWCD)
Sun Certified Java Developer (SCJD)
Sun Certified Java Programmer (SCJP)
Sun Certified Java Associate (SCJA)
Cada certificação testa algum tipo de habilidade dentro da plataforma e linguagem Java. Todos os testes são realizados pela empresa Prometrice são reconhecidos internacionalmente.


Comunidade
A comunidade de desenvolvedores Java reúne-se em grupo denominados JUGs (Java User Groups). No Brasil o movimento de grupos de usuários expandiu-se bastante e tem formado alguns dos maiores grupos de usuários Java do mundo, como por exemplo o
PortalJava e o GUJ.

Licença
A Sun disponibiliza a maioria das distribuições Java gratuitamente e obtém receita com programas mais especializados como o Java Enterprise System. Em 13 de novembro de 2006, Sun liberou partes de Java como
software livre, sob a licença GNU General Public License (GPL). A liberação completa dos programas fonte sob a GPL é esperada para o primeiro trimestre de 2007.

Fonte: Wikipedia