Arquivo da tag: apache

Apache Cassandra 1.1 está disponível para download

Fonte: IMasters

Com informações de The H

A Apache Software Foundation anunciou a disponibilidade da versão 1.1 do Apache Cassandra, o banco de dados distribuído “NoSQL” de código aberto e altamente escalável. A versão traz melhorias em seu cache, na integração do Hadoop, no controle de armazenamento e de diretório de dados, e na escalabilidade.

O CQL, Cassandra Query Language, também foi revisto e passou a figurar como a versão 3.0, com um evoluído modelo de esquema e a capacidade de criar tabelas com várias colunas de chaves primárias e outras alterações.

O Cassandra 1.1 foi liberado sob a licença Apache 2.0 e releases binários estão disponíveis para download a partir do site do projeto.

Apache CouchDB 1.2 aumenta velocidade e comprime mais

Fonte: IMasters

Com informações de The H

Os desenvolvedores do Apache CouchDB anunciaram melhorias em desempenho e em segurança na versão 1.2 do banco de dados NoSQL. A atualização também traz uma nova implementação de replicação e o padrão para habilitar compressão de arquivos para o banco de dados e para os arquivos do index view.

Além disso, a nova versão foi lançada junto com uma reforçada presença do banco de dados na Apache Software Foundation.

O CouchDB faz muito uso do format de dados JSON e, na 1.2, os desenvolvedores moveram partes críticas do parser do JSON para o Com (usando a biblioteca yail), que, segundo eles, melhorou a latência e a taxa de transferência do sistema. Bancos de dados e índices para views agora são passados através do sistema de compressão Snappy, do Google, reduzindo a quantidade de dados transferida para e a partir do disco; essa redução em I/O também melhorou o desempenho do banco de dados e permitiu vários aprimoramentos em algoritmos, o que resultou na melhoria de operações comuns, como a construção de views.

A segurança também foi modificada no Apache CouchDB 1.2, o que levou a algumas rupturas de compatibilidade com versões anteriores. Agora, o banco de dados dos usuários não está legível para todos e, ao acessar os dados no replicador do banco de dados, irá retornar documentos retirados de informações confidenciais, como senhas e tokens OAuth. O CouchDB agora gerencia, de forma consistente, o hashing de senhas antes de seu armazenamento, em vez de confiar nos aplicativos do cliente para isso. Além disso, segredos do OAuth dentro do banco de dados e cookies de autenticação persistente também são suportados pelo CouchDB.

Outras mudanças incluem um novo sistema replicador, que, segundo os desenvolvedores, é mais confiável e rápido que o anterior; maior abrangência de opções de configuração para permitir melhor tuning para ambientes particulares; e melhorias no sistema de building e de logging, além de várias correções de bugs.

Detalhes estão disponíveis aqui. O Apache CouchDB 1.2 pode ser baixado neste link, e uma versão para Mac OS X chegará em breve.

Deltacloud agora faz parte do Apache Top Level Project

Com informações de The H

Fonte: IMasters

O projeto Apache Deltacloud, que vem sendo incubado no Apache desde que foi contribuído para o Apache, em maio de 2010, pelo Red Hat, se tornou oficialmente parte do Apache Top Level Project.

O Deltacloud é uma definição para uma API REST para interagir com provedores de serviços em nuvem. Ele também inclui implementações para um servidor de API para serviços populares em cloud, como Amazon, Eucalyptus, GoGrid, Microsoft, OpenStack e Rackspace. Além disso, há bibliotecas clientes para Ruby, C e C++.

Na verdade, o Deltacloud foi votado e elevado à categoria de projeto de alto nível em outubro de 2011. A razão de isso ter sido anunciado ontem não está clara, mas alguns projetos levam tempo para migrar sua infraestrutura para alto nível.

O Deltacloud é o segundo projeto de gerenciamento de API em nuvem a ser qualificado para o status de alto nível da Apache Software Foundation. Em maio de 2011, o Apache Libcloud conseguiu o feito. Ele é uma implementação baseada em Python de API common vendor-independent para serviços em nuvem. Ela usa múltiplos backends para traduzir sua API para um serviço alvo.

Esses dois projetos são algumas das tentativas de criar uma API padronizada para interagir com nuvens IaaS (Infrastructure-as-a-Service). Outras novidades incluem um serviço de barramento da Open Source Business Foundation, um guia IEEE e um padrão para portabilidade cloud, e uma iniciativa OASIS chamada TOSCA (Topology and Orchestration Specification for Cloud Applications).

O Deltacloud está disponível para download e para instalação neste link e é distribuído sob a Apache Licence 2.0.

.htaccess Files for the Rest of Us

Original Post for Dan Wellman/NetTuts+

.htaccess files are used to configure Apache, as well a range of other web servers. Despite the .htaccess file type extension, they are simply text files that can be edited using any text-editor. In this article, we’ll review what they are, and how you can use them in your projects.

Please note that .htaccess files don’t work on Windows-based systems, although they can be edited and uploaded to a compatible web server, and on Linux-based systems they are hidden by default.

In order to work with htaccess files locally, to see how they work and generally play around with them, we can use XAMPP (or MAMP) on the Mac – a package that installs and configures Apache, PHP and MySQL. To edit these .htaccess files on Mac, we should use a text editor that allows for the opening of hidden files, such as TextWrangler.

A .htaccess file follows the same format as Apache’s main configuration file: httpd.conf. Many of the settings that can be configured using the main configuration file can also be configured with them, and vice versa.

A setting configured in an .htaccess file will override the same setting in the main configuration file for the directory which contains the file, as well as all of its subdirectories.

They are sometimes referred to as dynamic configuration files because they are read by the server on every request to the directory they are contained within. This means that any changes to an .htaccess file will take effect immediately, without requiring a reboot of the server, unlike changes made to the global configuration file. It also means that you pay a slight performance hit for using them, but they can be useful when you don’t have access to the server’s main configuration file.

So now we all know what .htaccess files are, how they are edited and worked with, and some of their pros and cons, let’s look at how they can be used and some of the cool stuff they can do.

Redirects and URL Rewriting

A popular use of .htaccess files is to perform redirects or rewrite URLs. This can help with SEO following a domain name change, or file-structure reorganisation, or can make long unsightly URL more friendly and memorable.

Redirections

A redirection can be as simple as the following:

Redirect 301 ^old\.html$ http://localhost/new.html

This sets the HTTP status code to 301 (moved permanently) and redirects all requests to old.html transparently to new.html. We use a regular expression to match the URL to redirect, which gives us a fine degree of control to ensure only the correct URL is matched for redirection, but adds complexity to the configuration and administration of it. The full URL of the resource being redirected to is required.

Rewrites

A rewrite rule can be as simple as this:

RewriteEngine on
RewriteRule ^old\.html$ new.html

In this example, we just provide a simple file redirect from one file to another, which will also be performed transparently, without changing what is displayed in the address bar. The first directive, RewriteEngine on, simply ensures that the rewrite engine is enabled.

In order to update what is displayed in the address bar of the visitor’s browser, we can use the R flag at the end of the RewriteRule e.g.

RewriteRule ^old\.html$ http://hostname/new.html [r=301]

The r flag causes an external redirection which is why the full URL (an example URL here) to the new page is given. We can also specify the status code when using the flag. This causes the address bar to be updated in the visitor’s browser.

One of the possible uses for URL rewriting I gave at the start of this section was to make unsightly URLs (containing query-string data) friendlier to visitors and search engines. Let’s see this in action now:

RewriteRule ^products/([^/]+)/([^/]+)/([^/]+) product.php?cat=$1&brand=$2&prod=

This rule will allow visitors to use a URL like products/turntables/technics/sl1210, and have it transformed into product.php?cat=turntables&<WBR>brand=technics&prod=sl1210. The parentheses in between the forward slashes in the above regular expression are capturing groups – we can use each of these as $1, $2 and $3 respectively. The [^/]+ character class within the parentheses means match any character except a forward-slash 1 or more times.

In practice, URL rewriting can be (and usually is) much more complex and achieve far greater things than this. URL rewriting is better explained using entire tutorials so we won’t look at them in any further detail here.

Serving Custom Error Pages

It’s just not cool to show the default 404 page anymore. Many sites take the opportunity offered by a file not found error to inject a little humour into their site, but at the very least, people expect the 404 page of a site to at least match the style and theme of any other page of the site.

Very closely related to URL rewriting, serving a custom error page instead of the standard 404 page is easy with an .htaccess file:

ErrorDocument 404 "/404.html"

That’s all we need; whenever a 404 error occurs, the specified page is displayed. We can configure pages to be displayed for many other server errors too.

Restricting Access to Specific Resources

Using .htaccess files, we can enable password protection of any file or directory, to all users, or based on things like domain or IP address. This is after all one of their core uses. To prevent access to an entire directory, we would simple create a new .htaccess file, containing the following code:

AuthName "Username and password required"
AuthUserFile /path/to/.htpasswd
Require valid-user
AuthType Basic

This file should then be saved into the directory we wish to protect. The AuthName directive specifies the message to display in the username/password dialog box, the AuthUserFile should be the path to the .htpasswd file. The Require directive specifies that only authenticated users may access the protected file while the AuthType is set to Basic.

To protect a specific file, we can wrap the above code in a <files> directive, which specifies the protected file:

<Files "protectedfile.html">
   AuthName "Username and password required"
   AuthUserFile /path/to/.htpasswd
   Require valid-user
    AuthType Basic
</Files>

We also require an .htpasswd file for these types of authentication, which contains a colon-separated list of usernames and encrypted passwords required to access the protected resource(s). This file should be saved in a directory that is not accessible to the web. There are a range of services that can be used to generate these files automatically as the password should be stored in encrypted form.

Block Access to Certain Entities

Another use of .htaccess files is to quickly and easily block all requests from an IP address or user-agent. To block a specific IP address, simply add the following directives to your .htaccess file:

order allow,deny
deny from 192.168.0.1
allow from all

The order directive tells Apache in which order to evaluate the allow/deny directives. In this case, allow is evaluated first, then deny. The allow from all directive is evaluated first (even though it appears after the deny directive) and all IPs are allowed, then if the client’s IP matches the one specified in the deny directive, access is forbidden. This lets everyone in except the specified IP. Note that we can also deny access to entire IP blocks by supplying a shorter IP, e.g. 192.168.

To deny requests based on user-agent, we could do this:

RewriteCond %{HTTP_USER_AGENT} ^OrangeSpider
RewriteRule ^(.*)$ http://%{REMOTE_ADDR}/$ [r=301,l]

In this example, any client with a HTTP_USER_AGENT string starting with OrangeSpider (a bad bot) is redirected back to the address that it originated from. The regular expression matches any single character (.) zero or more times (*) and redirects to the %{REMOTE_ADDR} environment variable. The l flag we used here instructs Apache to treat this match as the last rule so will not process any others before performing the rewrite.

Force an IE Rendering Mode

Alongside controlling how the server responds to certain requests, we can also do things to the visitor’s browser, such as forcing IE to render pages using a specific rendering engine. For example, we can use the mod_headers module, if it is present, to set the X-UA-Compatible header:

Header set X-UA-Compatible "IE=Edge"

Adding this line to an .htaccess file will instruct IE to use the highest rendering mode available. As demonstrated by HTML5 Boilerplate, we can also avoid setting this header on files that don’t require it by using a <FilesMatch directive like so:

FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|xpi|safariextz|vcf)$" >
      Header unset X-UA-Compatible
</FilesMatch>

Implement Caching

Caching is easy to set up and can make your site load faster. ‘Nuff said! By setting a far-future expires date on elements of sites that don’t change very often, we can prevent the browser from requesting unchanged resources on every request.

If you’re running your site through Google PageSpeed or Yahoo’s YSlow and you get the message about setting far-future expiry headers, this is how you fix it:

Caching is easy to set up and can make your site load faster.

ExpiresActive on
ExpiresActive on
ExpiresByType image/gif                 "access plus 1 month"
ExpiresByType image/png                 "access plus 1 month"
ExpiresByType image/jpg                 "access plus 1 month"
ExpiresByType image/jpeg                "access plus 1 month"
ExpiresByType video/ogg                 "access plus 1 month"
ExpiresByType audio/ogg                 "access plus 1 month"
ExpiresByType video/mp4                 "access plus 1 month"
ExpiresByType video/webm                "access plus 1 month"

You can add different ExpiresByType directives for any content that is listed in the performance tool you’re using, or anything else that you want to control caching on. The first directive, ExpiresActive on, simply ensures the generation of Expires headers is switched on. These directives depend on Apache having the mod_expires module loaded.

Enabling Compression

Another warning we may get in a performance checker refers to enabling compression, and this is also something we can fix simply by updating our .htaccess file:

FilterDeclare COMPRESS
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css
FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/javascript
FilterChain     COMPRESS
FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no

This compression scheme works on newer versions of Apache (2.1+) using the mod_filter module. It uses the DEFLATE compression algorithm to compress content based on its response content-type, in this case we specify text/html, text/css and text/javascript (which will likely be the types of files flagged in PageSpeed/Yslow anyhow).

In the above example we start out by declaring the filter we wish to use, in this case COMPRESS, using the FilterDeclare directive. We then list the content types we wish to use this filter. The FilterChain directive then instructs the server to build a filter chain based on the FilterProvider directives we have listed. The FilterProtocol directive allows us to specify options that are applied to the filter chain whenever it is run, the options we need to use are change=yes (the content may be changed by the filter (in this case, compressed)) and byteranges=no (the filter must only be applied to complete files).

On older versions of Apache, the mod_deflate module is used to configure DEFLATE compression. We have less control of how the content is filtered in this case, but the directives are simpler:

SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/javascript

In this case we just set the compression algorithm using the SetOutputFilter directive, and then specify the content-types we’d like to compress using the AddOutputFilterByType directive.

Usually your web server will use one of these modules depending on which version of Apache is in use. Generally, you will know this beforehand, but if you are creating a generic .htaccess file that you can use on a variety of sites, or which you may share with other people and therefore you don’t know which modules may be in use, you may wish to use both of the above blocks of code wrapped in <IfModule module_name> directives so that the correct module is used and the server doesn’t throw a 500 error if we try to configure a module that isn’t included. You should be aware that it’s also relatively common for hosts that run a large number of sites from a single box to disable compression as there is a small CPU performance hit for compressing on the server.

Summary

We looked at some of the most common uses for .htaccess files, and reviewed how we can achieve certain tasks that, as website builders/maintainers, are of particular interest to us. As is the case with any introductory tutorial of this nature, the subjects we’ve covered are presented as introductions to a particular topic. There are many other options and configurations than we have been able to look at, so I’d strongly recommend further reading on any subject that is of particular interest.

O Futuro do CouchDB

Neste último dia 04/01 (Quarta-Feira) Damien Katz, um dos criadores do projeto Apache CouchDB, divulgou em seu blog que ele e o time de desenvolvimento Couchbase não terão mais o CouchDB como projeto principal.

Conforme dito por Katz, o novo foco de desenvolvimento é o Couchbase Server:

Não quer dizer que o CouchDB não é incrível. Simplesmente estamos criando seu sucessor: Couchbase Server. Um produto e projeto com capacidades e objetivos similares, porém mais rápido, mais escalável, mais customizável e com foco nos desenvolvedores. E definitivamente não será parte da Apache.

Muitos devem se perguntar “Porquê não continuar evoluindo o CouchDB?”, Damien Katz explica que o desenvolvimento do Apache CouchDB foi governado pelo consenso da comunidade, o que o levou a seguir caminhos que (hoje) ele considera como não sendo os melhores. Pode parecer um descaso com a Apache, mas ele explica: “O Apache foi a grande responsável pelo sucesso do CouchDB, sem isso o CouchDB não teria alcançado o sucesso repentino que alcançou. Mas em minha opinião, o projeto alcançou um ponto onde a abordagem consensual limitou a competitividade do projeto. Não é pessoal, é negocial.”

O foco inicial do desenvolvedor é tornar o CouchBase Server 2.0 pronto para uso em ambiente produtivo e tornando-o o banco de dados NoSQL mais fácil, rápido e confiável, além de reescrever o núcleo do projeto utilizando C/C++.

O CouchDB é um dos bancos de dados NoSQL mais famosos e utilizados atualmente. Boa parte desta fama é resultado do esforço de divulgação e de algumas decisões estratégicas tomadas pela Fundação Apache, tornando o CouchDB um SGBD único e com grande apelo para os desenvolvedores Web. Por isso os usuários do Apache CouchDB podem continuar despreocupados, o projeto é forte e ativo, pois continuará sendo desenvolvido pelo restante da equipe/comunidade. Não há chances do projeto ser descontinuado, pois possui diversos patrocinadores como, Cloudera, Right Scale, Canonical, Red Hat, Heroku, AppFirst, Fusion-io, HP e VMWare. Claro que nenhum apoio/patrocínio do mundo pode suprir a perda de um dos principais “cabeças” do projeto, logo podemos esperar uma possível mudança no ritmo de desenvolvimento do CouchDB. Se você está curioso para saber um pouco mais sobre o COuchDB, sugiro dar uma olhada neste outro artigo publicado aqui no blog Mind Bending: Python e CouchDB na Prática

É interessante perceber que esta notícia mostra tanto o lado bom quanto o lado perigoso do mundo Open Source. Ao mesmo tempo que este modelo permitiu que Damien Katz utilizasse o código do CouchDB como base para o CouchBase Server, este mesmo modelo é parcialmente culpado pelo caminho que o CouchDB tomou. Existem diversos modelos para o desenvolvimento OpenSource, o modelo adotado pela Apache permite que diversas “pessoas” tenham poder para interferir no caminho que seus software tomam, por isso usei a palavra “parcialmente”.

Dando uma olhada na sessão de download do CouchBase Server, acabei me decepcionando, e muito. O CouchBase está sendo distribuído em duas modalidades: Enterprise Edition e Community Edition. A Community Edition é voltado para pequenas aplicações e não oferece atualizações e/ou hotfixes imediatamente. Já a Enterprise Edition é o produto completo, submetido a testes de performance e funcionalidade, e é o único produto ao qual os desenvolvedores oferecem suporte. A Enterprise Edition também é dividida em dois tipos, a versão paga e a versão gratuita. A versão gratuita só pode ser utilizada em até 2 servidores de produção.

Exposto isto, eu entendo que o único produto Livre que eles irão distribuir é o CouchBase Community Server (ao qual não é oferecido suporte), pois, ao restringir o uso da Enterprise Edition eles ferem as regras da liberdade de uso do software. Creio que isso impedirá que muitas pessoas pensem em migrar do CouchDB.

Fonte: MidBegin

Update para Java 7 corrige problemas com Apache Lucene

Quando o Java 7 foi lançado, ele veio com uma falha: usado com Apache Lucene e Apache Solr, o Java 7 causava cálculos incorretos e travava a Java Virtual Machine. Lucene e Solr ficavam praticamente paralisados.

Agora, a Oracle confirmou oficialmente que algumas das falhas foram corrigidas no Java 7 Update 1.

O problema foi descoberto alguns dias antes do lançamento do JDK 7, mas não houve tempo para corrigi-lo.

Embora a atualização tenha ficado pronta há alguns dias, as notas de lançamento não continham informações sobre o status dos bugs. Agora as IDs das falhas foram liberadas: 7068051, 7044738 e 7077439; e apesar de o bug 7070134 não estar identificado, ele também foi corrigido.

A Oracle também atualizou as notas de lançamento, confirmando que quatro problemas relacionados a JIT e a loop foram corrigidos.

De acordo com Uwe Schindler, comitter para Apache Lucene e Solr, agora é seguro usar Lucene e Solr com o 7 Update 1. Entretanto, ele aponta que não é recomendável utilizar o XX:AggressiveOpts em qualquer JVM em uso de produção.

Informações publicadas originalmente em The H

Fonte: IMasters

Google libera ferramenta de análise do JavaScript como projeto open source

O Google anunciou que liberou o ScriptCover como um projeto open source. Disponível como uma extensão do navegador Chrome, o ScriptCover é uma ferramenta do JavaScript que oferece estatísticas em tempo real, linha a linha do código para os sites.

Além disso, o recurso disponibiliza resultados à medida que a página continua a ser carregada e é atualizado automaticamente quando o usuário interage com o site. A ferramenta destaca cada uma das linhas de código que foi executada para uma análise mais detalhada.

De acordo com Ekaterina Kamenskaya, engenheira de software do Google, o detector de cobertura de código é útil ao realizar testes manuais e automáticos e para compreender e debugar códigos complexos. Ela acrescentou que desenvolvedores acreditam que futuras versões do ScriptCover podem incluir suporte para outras métricas e relatórios mais completos, com opções de exportar para os formatos HTML e XML, assim como a capacidade de apresentar estatísticas de cobertura para um servidor para análise.

Mais detalhes sobre o ScriptCover podem ser encontrados aqui. Hospedada no Google Code, a ferramenta está sob a licença Apache Licence 2.

Texto originalmente publicado em The H

Fonte: IMasters

IBM oferecerá Hadoop em seu serviço de nuvem

A IBM anunciou que em breve vai oferecer o seu software de analytics baseado no Hadoop, InfoSphere BigInsights, como serviço (Software as a Service – SaaS), dentro da plataforma SmartCloud. Duas versões estarão disponíveis, uma básica e gratuita, e outra paga, com características mais avançadas.

O serviço gratuito vai permitir que usuários iniciantes na análise de grandes quantidades de dados aprendam como o processo funciona. Recentemente, a IBM adquiriu especialistas na plataforma Hadoop para melhorar sua experiência na área.

O Apache Hadoop se tornou o padrão open source na área de “big data”, implantando um algoritmo MapReduce para aproveitar o poder dos grandes aglomerados de máquinas para analisar grandes quantidades de dados. Desenvolvido originalmente pelo Yahoo, ele se tornou um projeto Apache e desenvolveu seu próprio ecossistema de ferramentas e tecnologias relacionadas.

No início do mês, a Oracle anunciou que o seu Oracle Big Data Appliance rodaria Hadoop e a Microsoft revelou planos de dar suporte ao Hadoop no Azure e no Windows Server. O serviço de cloud Elastic MapReduce, da Amazon, também é baseado no Hadoop.

Com informações de The H

Fonte: IMasters

Cassandra 1.0: pronto para o ambiente Enterprise

A Fundação Apache anunciou o lançamento do Cassandra 1.0, a primeira versão principal do popular banco de dados NoSQL open source, baseado em colunas e distribuído. O release introduz a compressão de dados e grandes melhorias em desempenho, entre outros avanços.

O Cassandra é construído sobre o modelo de dados orientado a colunas que é base dos projetos Dynamo da Amazon e BigTable do Google. Desenvolvido inicialmente pelo Facebook, que o liberou como código aberto em 2008, o projeto permanece em desenvolvimento pela comunidade open source desde então.

O Cassandra 1.0 suporta a compressão de dados por ColumnFamily (um “recipiente” de colunas similar a uma tabela de banco de dados relacional). O processo de compressão é executado em segundo plano, não tendo impacto negativo sobre o tempo de resposta. A compressão reduz o espaço ocupado pelos dados por um fator de 2 a 4 vezes, resultando em melhoria de desempenho indireta de 25-35% em leituras e 5-10% em escritas, de acordo com Pavel Yaskevich, da Datastax, empresa que desenvolve um produto comercial baseado no Cassandra e contribui para o projeto.

O desempenho tem sido foco de grandes melhorias entre as versões 0.6 e 1.0. De acordo com Jonathan Ellis, VP do projeto na Apache, em comparação com o release disponível nesta mesma data em 2010, foi aumentada a velocidade de escrita em 40% e em “fenomenais 400%” na leitura.

Outros avanços incluem:

  • Melhorias no gerenciamento de memória através de caches fora do heap, alocação em arena e otimização automática. Os ganhos são na redução de pausas do coletor de lixo e em desempenho mais previsível.
  • Gerenciamento de espaço em disco melhorado, especialmente com relação ao espaço ocupado por logs de commits, e com apagamento imediato de arquivos de dados obsoletos.
  • Melhoria no recurso de Hinted Handoffs, reduzindo a necessidade de reparação de leituras.
  • Melhorias de desempenho em muitas áreas, incluindo CQL, reparação e outras.

Fonte: Abel Avram/traduzido por Leonardo Galvão

Versão 1.0 do Apache Cassandra é lançada

A equipe de desenvolvimento do Cassandra anunciou a versão 1.0 do banco de dados altamente escalável, orientado a coluna e distribuído “NoSQL” Cassandra. O lançamento acontece apenas cinco meses depois da versão anterior, a 0.8.0.

Entre as melhorias da nova versão estão adição de suporte para a compressão de dados para reduzir o volume de dados no disco dos nós, implementação de melhorias na gerência de memória e de espaço em disco com o “off-heap storage” do cache em linha (row cache) e otimização automática das tabelas em memória.

Disponibilizado abertamente em julho de 2008, o Cassandra é um sistema de gerenciamento de banco de dados distribuído originalmente desenvolvido pelo Facebook.

O download do Cassandra 1.0.0 pode ser feito através de http://cassandra.apache.org/download/

Com Informações do NoSQL

Fonte: IMasters

Apache TomEE certificado com Web Profile do Java EE 6

Essa semana no JavaOne, a Fundação Apache anunciou o Apache TomEE, uma implementação certificada do Java EE 6 Web Profile baseada nos projetos Tomcat, OpenWebBeans, MyFaces, ActiveMQ, OpenJPA e CXF, todos da Apache. O projeto era conhecido anteriormente como uma integração do Tomcat com o OpenEJB, mas foi renomeado para TomEE (pronúncia: “Tommy”) para deixar claro o suporte a outras tecnologias do Java EE, além de EJB.

O Apache TomEE se uniu a outras implementações open source do Java EE, como o GlassFish, JBoss e Apache Geronimo, entrando como a sexta integrante do grupo de implementações certificadas do Java EE.

Algumas vantagens do TomEE:

  • Tamanho: o perfil Web completo tem somente 24 MB;
  • Uso de memória: exige pouca memória; passou pelo TCK (Technology Compatibility Kit) sem a necessidade de aumentar a alocação padrão de memória;
  • Agilidade: o servidor pode passar pelas etapas de inicializar/deploy/testar/undeploy/parar em um ciclo de 2 a 3 segundos, quando executado no modo embedded (modo compacto, sem configurações adicionais).

Pelo tamanho reduzido, o TomEE torna-se uma alternativa interessante quando executado em ambiente de nuvem, onde é comum a presença de um número grande de pequenos aplicativos ao invés de instâncias de maior porte.

Falando em Cloud, o servidor foi certificado sobre os tipos de instâncias da Amazon EC2: t1.micro, m1.small e m1.large, todos de 32 bits. A certificação para ambientes de 64 bits será realizada em um futuro bem próximo.

Mais informações sobre o Apache TomEE podem ser encontradas na página do projeto OpenEJB em http://openejb.apache.org/. Atualmente o projeto encontra-se em versão beta, mas já foi disponibilizada página para o download imediato.

Fonte: Alex Blewitt , traduzido por Eder Magalhães/InfoQ

Iniciando no PHP: 10 Questões para iniciantes em PHP

Para começar a desenvolver com a linguagem PHP, é necessário entender algumas questões:

1 – A linguagem PHP é muito utilizada para o desenvolvimento de WEB e Sites e Intranet. Hoje como cases é possível citar grandes portais da internet, como o Facebook e o Twitter.

2 – PHP é uma linguagem open source, gerenciado pela empresa Zend. Hoje a Zend se mantem com a comercialização de alguns produtos, entre eles o Zend Certification, Zend Encoder entre outros.

3 – O Site oficial do PHP é o www.php.net. Lá você encontra um guia completo de referencia para estudos.

4 – Para você montar um ambiente de desenvolvimento, é necessário ter instalado o servidor Apache em conjunto com o PHP. Existe também formas de utilizar o servidor IIS da Microsoft, mas por questão facilidade e de maior integração, é recomendado o uso do Apache.

5 – Realizar a instalação do PHP e Apache, não é uma tarefa muito simples e menos produtiva. Requer muito tempo e pelo menos alguns conhecimentos adicionais para realizar a instalação.Desta forma existe no mercado ferramentas que realizam estas instalação de forma simples, apenas utilizando o famoso Next, Next e Finish.

6 – Umas das ferramentas é o Wamp Server. A mesma instala automaticamente na sua máquina, O PHP 5.X, Apache 2.2.X, MySQL 5.X entre outros softwares para desenvolvimento. Desta forma você cria um servidor com PHP, Apache e MySQL em apenas alguns minutos. Você encontra mais informações no site http://www.wampserver.com, escolha a guia download e escolha a versão desejada.

7 – É importante entender que o Apache, por ser um servidor WEB irá utilizar a porta default(80), desta forma para que o Wamp server, consiga inicializar todos os serviços, é importante não ter serviços que utilizem esta porta. EX: Skype, Team View entre outros. Desta forma, quando for utilizar o Wamp Server, desligue as aplicações citadas anteriormente ou qualquer outra que venha a gerar conflito com o mesmo.

8 – Antes de começar com PHP, aprenda HTML. O HTML é fundamental para desenvolver com a linguagem PHP. Um dos grandes recursos do HTML, que deve ser bastante estudado é os formulários. Posteriormente a grande jogado é trabalhar com formulários do HTML no PHP.

9 – Você pode desenvolver em PHP, tanto no modelo procedural ou orientada a objeto. Cada vez mais o PHP esta dando suporte ao paradigma da OO.

10 – Aprenda CSS. Além de entender HTML, é essencial hoje também conhecer o CSS, é com que será possível criar estilos para suas páginas.

Fonte: DeveMidia