04 novembro 2013
Will Cloud kill Open Source? Is the Future Open Standards?
Before you think I'm FUD'ing here, please note that there are already plenty of articles discussing this. Do a search for Open Source vs Open Standards on Google. You might be surprised. The oldest article I found in the first result page is one by Jonathan Schwartz from 2003, titled Open source versus open standards. Then there's another one called ZDNet: Open source vs open standards from 2004. Then there's another interesting one called Open Source vs. Open Standards, by Bob Sutor, from 2006-2009. There's another more recent one from this year, titled Open Standards And Open Source.
But if you payed attention, you might have noticed that none of these articles have the word CLOUD in it. And that's what differs from this blog post you are about to read.
Here is an interesting trend from Google to start this discussion.
Clearly, the interest in Cloud is going up, where interest of Open Source is going down in an almost equivalent proportion. Is the Cloud Computing era going to kill Open Source? I dunno. But this should warn us of one thing: that the Cloud era is not about Open Source. It is about Open Standards (and APIs).
As we all know, APIs expose functionality, not implementation, where the beauty of Open Source is that we all can look at the source code and be sure of how the implementation works, how the pieces are put together to make our application run. If you are a truly defender of Open Source, you are probably thinking right now that there is a company that offers a Cloud platform based on an Open Source software. But do you have access to the runtime? Can you be sure that they are running the exact same code as they tell you? Will they give you access to the server to check if the MD5 is the same? Even the Linux they say they are using might be different. You just cannot be sure. You don't own the infrastructure.
If we take the main 3 types of Cloud offers: SaaS, PaaS, and IaaS, only the latter we can be *more* sure, but still not 100% sure that our applications are running on top of Open Source software. Do you have access to the provisioning code that Amazon AWS uses to create your Linux instance? Do you have access to the source code of the network configuration utility? No. You say your project runs on top of 100% Open Source software. Then you tell me you are running your application at Amazon, or Azure, Oracle, Jelastic, CloudBees, CloudFoundry, etc? You are not running over only Open Source code. You are not. Your application relies on closed-source code to run on that Cloud. There will always be at least one component of that cloud that is not open sourced. And if the cloud provider tells you it is, "and here's the source code", you can't simply believe because you can't make sure of it, you can't see it in the runtime machine. You don't own that.
Now everyone is talking about moving to the Cloud. What will happen if everyone moves their application to some kind of Cloud? In a very extremist view, there would be no more software for on premise deployments, including Open Source. Or at least these would reduce drastically. There would be only... Open Standards.
Which in fact is what developers need these days for Cloud Computing: Open Standards. We all want to be able to move applications from a vendor to another, all it takes is to the other vendor support the same APIs that I require. Are Open Standards the future for Cloud Computing? APIs for SaaS (REST APIs), platforms for PaaS (Java EE), and standards for IaaS (OpenStack)?
Here's another interesting article that also talks about this: Open Standards are the key to True Cloud. Not Open Source Stacks.
I agree with Bruno Souza, where we quickly discussed the ideas I shared here. Open Source will live forever, and it will be the place where Open Standards will probably come up from. It is a de facto. This is how the JCP already works for example.
Which brings us to another question: will Cloud drive the openness characteristic of Open Source less open, and focus more on ideas for Open Standards? Will the Cloud business suggest Open Source as initial implementations for those ideas? What do you think?
But if you payed attention, you might have noticed that none of these articles have the word CLOUD in it. And that's what differs from this blog post you are about to read.
Here is an interesting trend from Google to start this discussion.
Clearly, the interest in Cloud is going up, where interest of Open Source is going down in an almost equivalent proportion. Is the Cloud Computing era going to kill Open Source? I dunno. But this should warn us of one thing: that the Cloud era is not about Open Source. It is about Open Standards (and APIs).
As we all know, APIs expose functionality, not implementation, where the beauty of Open Source is that we all can look at the source code and be sure of how the implementation works, how the pieces are put together to make our application run. If you are a truly defender of Open Source, you are probably thinking right now that there is a company that offers a Cloud platform based on an Open Source software. But do you have access to the runtime? Can you be sure that they are running the exact same code as they tell you? Will they give you access to the server to check if the MD5 is the same? Even the Linux they say they are using might be different. You just cannot be sure. You don't own the infrastructure.
If we take the main 3 types of Cloud offers: SaaS, PaaS, and IaaS, only the latter we can be *more* sure, but still not 100% sure that our applications are running on top of Open Source software. Do you have access to the provisioning code that Amazon AWS uses to create your Linux instance? Do you have access to the source code of the network configuration utility? No. You say your project runs on top of 100% Open Source software. Then you tell me you are running your application at Amazon, or Azure, Oracle, Jelastic, CloudBees, CloudFoundry, etc? You are not running over only Open Source code. You are not. Your application relies on closed-source code to run on that Cloud. There will always be at least one component of that cloud that is not open sourced. And if the cloud provider tells you it is, "and here's the source code", you can't simply believe because you can't make sure of it, you can't see it in the runtime machine. You don't own that.
Now everyone is talking about moving to the Cloud. What will happen if everyone moves their application to some kind of Cloud? In a very extremist view, there would be no more software for on premise deployments, including Open Source. Or at least these would reduce drastically. There would be only... Open Standards.
Which in fact is what developers need these days for Cloud Computing: Open Standards. We all want to be able to move applications from a vendor to another, all it takes is to the other vendor support the same APIs that I require. Are Open Standards the future for Cloud Computing? APIs for SaaS (REST APIs), platforms for PaaS (Java EE), and standards for IaaS (OpenStack)?
Here's another interesting article that also talks about this: Open Standards are the key to True Cloud. Not Open Source Stacks.
I agree with Bruno Souza, where we quickly discussed the ideas I shared here. Open Source will live forever, and it will be the place where Open Standards will probably come up from. It is a de facto. This is how the JCP already works for example.
Which brings us to another question: will Cloud drive the openness characteristic of Open Source less open, and focus more on ideas for Open Standards? Will the Cloud business suggest Open Source as initial implementations for those ideas? What do you think?
10 setembro 2013
Java SE 7 update 40 e o Mission Control 5.2

Chegou uma nova atualização do Java SE 7: update 40. Esta versão inclui várias novas funcionalidades como o Java Mission Control, Deployment Rule Set, suporta para o Retina display no Mac, e suporte a Hard Float ABI no Linux ARM v7. Também inclui diversas correções de bugs. Para quem desenvolve Applets e aplicações Java Web Start, este release, fica a atenção para conhecer e enteder as mudanças.
Deployment Rule Sets
Esta funcionalidade permite um administrador de desktops a controlar o nivel de compatibilidade para clientes Java assim como níveis de segurança para a empresa. Para maiores detalhes, veja a documentação do Deployment Rule Set.
Java Mission Control
O Mission Control era até então uma ferramenta disponível para clientes Oracle, e que foi lançada há muito tempo atrás junto com o JRockit (JRMC). Mas a Oracle agora disponibilizou a ferramenta junto com a JRE HotSpot 7u40.
Esta ferramenta permite monitorar, gerenciar, introspectar, e detectar memory leaks nas suas aplicações Java, sem ter que introduzir códigos para isso, que normalmente degradam a performance da aplicação. Hoje esta ferramenta está agora disponível no download do Oracle HotSpot JDK 7u40!
Flight Recorder
Mas a principal e mais importante característica é o Flight Recorder. Este recurso funciona através da leitura de eventos produzidos pela JVM. Mesmo ativando a geração destes eventos, a sobrecarga total para as suas aplicações ainda fica abaixo de 2%, que considerando o tipo e o valor de informação que você recebe, é quase nada. Um exemplo de evento é a chamada de um método de uma classe Java.
Com o profile de chamadas de métodos você pode descobrir onde o aplicativo está gastando a maior parte do tempo executando seu código Java. Este é, por exemplo, útil para otimizar a aplicação onde as otimizações realmente terão impacto. Isto sem precisar introspectar seu código manualmente!
Alem disso, você tem também uma visão de otimização para alocação de objetos. Você pode ver por exemplo, a alocação em tempo real de objetos na Old Gen da memória heap. diretamente no espaço de idade, além de outras abas que oferecem diversas informações importantes sobre o processamento de informações na sua aplicação Java. Leituras de arquivos I/O, Socket I/O e muito mais.
Se você precisa de mais informações sobre o Mission Control, entre na página da ferramenta em www.oracle.com/missioncontrol.
E obrigado ao Markus Eisele por ter cedido parte deste post! :-)
06 setembro 2013
Install Fusion Middleware Infrastructure on Oracle DB 12c
This week I had the opportunity to play a little with the new and recently released Oracle DB 12c. This version brings a new approach for databases, calledPluggable Databases. There are plenty of articles and YouTube videos already explaining this and I will not focus this article on it. Instead, I want to help you on How to Install Oracle Fusion Middleware Infrastructure on Oracle DB 12c.
There are a couple of steps and commands to be followed, and some very important observations. Starting with a simple one:
Do NOT execute the RCU installer on top of a CDB.
If you do point the RCU tool to install over a CDB, you might get this message:
Now with this in mind, I believe you have understood that the first step is, obviously, to create a PDB. There are some options, but I will use pure SQL commands.
SQL> CREATE PLUGGABLE DATABASE PDBFMW ADMIN USER fmw IDENTIFIED BY welcome1
FILE_NAME_CONVERT=(
'/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf',
'/u01/app/oracle/oradata/orcl/pdbfmw/system01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdbfmw/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/pdbseed_temp01.dbf',
'/u01/app/oracle/oradata/orcl/pdbfmw/pdbfmw_temp01.dbf'
)
STORAGE UNLIMITED
SQL> ALTER PLUGGABLE DATABASE PDBFMW OPEN READ WRITE
There are a couple of steps and commands to be followed, and some very important observations. Starting with a simple one:
Do NOT execute the RCU installer on top of a CDB.
One more time: do NOT execute RCU on top of a CDB.
If you do point the RCU tool to install over a CDB, you might get this message:
ORA-65096: invalid common user or role name
Now with this in mind, I believe you have understood that the first step is, obviously, to create a PDB. There are some options, but I will use pure SQL commands.
Step 0 - Use the correct encoding for your Database install
Make sure you have installed your DB with the AL32UTF8 encoding.
This is recommended, but it might work in case you are using something else.
Step 1 - Create a PDB to hold the FMW Infrastructure Data
The following command will create a PDB called PDBFMW with a user "fmw" and password "welcome1".SQL> CREATE PLUGGABLE DATABASE PDBFMW ADMIN USER fmw IDENTIFIED BY welcome1
FILE_NAME_CONVERT=(
'/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf',
'/u01/app/oracle/oradata/orcl/pdbfmw/system01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdbfmw/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/pdbseed_temp01.dbf',
'/u01/app/oracle/oradata/orcl/pdbfmw/pdbfmw_temp01.dbf'
)
STORAGE UNLIMITED
Please make sure to adjust the values to your installation.
Step 2 - Open the PDB for changes
After you have the PDB created, make sure you change its state to READ_WRITE
SQL> ALTER PLUGGABLE DATABASE PDBFMW OPEN READ WRITE
Step 3 - Fix user privileges
Now you must make sure the user "fmw" has all required privileges. As this is for Development, I will just give everything.
SQL> GRANT ALL PRIVILEGES TO fmw WITH ADMIN OPTION
SQL> GRANT SYS TO fmw
SQL> GRANT SYS TO fmw
* Important note: I'm not a DBA expert and these might not be the correct privileges for production environment. So please make sure to give only the necessary privileges following the documentation.
Step 4 - Run the RCU tool
This step considers that you have correctly installed Fusion Middleware Infrastructure into your Middleware Home / WebLogic installation folder. In my case, I'm using the full WebLogic + JDeveloper installation package, which brings the FMW Infra bundled. Now go to your $MW_HOME folder and run the RCU tool:
$ cd $MW_HOME
$ cd oracle_common/bin
$ ./rcu
$ ./rcu
Make sure to use the correct properties to connect to your recently created Pluggable Database:
Database Type: Oracle Database
Host Name: db12c (change to your DB IP address)
Port: 1521
Service Name: pdbfmw (here you use the PDB name)
Username: fmw
Password: welcome1 (or whatever you defined)
Role: SYSDBA
Click "Next" and see if it worked. If you are not using AL32UTF8, it will ask you to Ignore. Just do it, but remember: it might not work properly.
Step 5 - Select components and create new prefix
I like to select everything, and use the "FMW" prefix. Click "Next", "Next", "Next", etc, etc, etc... Until it finishes.
FINISHED!
You have successfuly created the right database structure for your Fusion Middleware Infrastructure, and now you can create a WebLogic domain with ADF and everything else, pointing to this PDB.
If you have any question, post a comment!
24 agosto 2013
Java EE 7 OTN Tour 2013 Trip Report - Part 1/2
OTN Tour 2013 is over, and after 7 countries, all I have to tell you is this: #JavaEE7 rocks and people loved it! It is quite coincidence that at the end, I went to 7 cities in Latin America to give my "What's new in Java EE 7" talk plus the Hands-on Lab and other talks like the one about WebLogic 12c and another about GlassFish 4.
In reality, I had also planned to go to Panama City, and San José in Costa Rica. Well, things sometimes don't always go as planned, and I couldn't go to Panama. And when I got to Costa Rica, I was sent back to Mexico because I was not with my Yellow Fever card. But I'm looking forward to Java EE 9, if you know what I mean. :-) In the end, I visited 7 cities:
We all know how Database-driven Oracle has been for the past decades, and we understand that most off the Oracle User Groups are more interested on Database stuff. But this is changing. There was a lot of interest during the whole tour on Middleware and Development technologies such as Java EE, ADF, WebLogic, and GlassFish. Dana Singleterry joined me in this tour and brought with him a lot of information on ADF 12c and ADF Mobile. Don't forget to follow him on Twitter.
By the way, this tour was great to improve my Spanish. Yeah, you read it: Spaaaanish. I'm from Brazil, and we speak Portuguese there. And Brazil is the only country in Latin America that speaks Portuguese. To improve my learning, at every country I visited I tried to learn local slangs. So for each city, I did a special slide for Java EE 7. Really, you gotta learn local slangs to be cool with a 2nd/3rd language :-P Anyway, it all started on July 21st in the morning...
Like I told before, I could not go to Panama nor Costa Rica, so I stayed in Mexico the first week, and worked with Oracle folks there, did customer meetings, worked from hotel, etc. On Friday I finally started. Great venue at Egade Business School as well a very nice setup with coffeebreaks and lunch for everyone. Kudos to ORAMEX, the local OUG. In Mexico, I gave my Java EE talk, and did the Hands-on.
Spanish Lesson Part 1
By the way, chingar is a word in Mexican Spanish that means a lot of things, both for good or bad contexts. It can be used so widely that there is even a "chingonary", or a dictionary on how to use it, that I had to buy one for me in a local bookstore. In this case, it means "Java EE 7 has so many new technologies inside", but of course using a slang, almost a swearing word :P
Also, all the registration fee for this event was donated to a local orphans institute. Later, perhaps the best moment of it all: when we were walking on the street after the event looking for a place to dinner, we met with the supporters of this institute.
Santiago is an incredible city. It holds about 30% of the entire population of Chile, and I would guess perhaps more than 50% of the entire economy there. It is one of the most modern city, with great infrastructure and easy access to several touristic places. It was where I could enjoy a tourist-like day, so expect to see regular pictures. :P
Spanish Lesson Part 2
The term bacán in Chilean Spanish means "cool". I had to change my slide here.
The conference here happened at a very nice university, close to a subway station, and here I gave my Java EE 7 talk the hands-on again, and then the GlassFish in Production Environments. I met with great people here both from Oracle User Groups as well some people from the local Java community. It was also where I first met and talked to Tim Hall, really great guy, Oracle ACED, an expert on Oracle Database. If you have any questions about OraDB, follow him on Twitter and check his website, oracle-base.com.
Here I gave my traditional Java EE 7 session, catch up with local Oracle people, and had perhaps one of the crowdest room in the whole tour. The question I made to the attendees in the picture below was: "Did you like the new stuff in Java EE 7? Raise your hand if yes!!!"
Spanish Lesson Part 3
The term chévere in Peruvian Spanish means "awesome". It is similar to bacán from Santiago, Chile. But people here prefer to be different. :-) So I had to change my slide again.
More next week
I still have to talk about was this tour in Argentina, Montevideo, and finally Brazil. But I will leave that for the next post.
By the way, to keep posted on this, follow me on Twitter! Or Google+... Or Facebook... :-)
In reality, I had also planned to go to Panama City, and San José in Costa Rica. Well, things sometimes don't always go as planned, and I couldn't go to Panama. And when I got to Costa Rica, I was sent back to Mexico because I was not with my Yellow Fever card. But I'm looking forward to Java EE 9, if you know what I mean. :-) In the end, I visited 7 cities:
- Mexico City, Mexico
- Guadalajara, Mexico
- Santiago, Chile
- Lima, Peru
- Montevideo, Uruguay
- Buenos Aires, Argentina
- São Paulo, Brazil
We all know how Database-driven Oracle has been for the past decades, and we understand that most off the Oracle User Groups are more interested on Database stuff. But this is changing. There was a lot of interest during the whole tour on Middleware and Development technologies such as Java EE, ADF, WebLogic, and GlassFish. Dana Singleterry joined me in this tour and brought with him a lot of information on ADF 12c and ADF Mobile. Don't forget to follow him on Twitter.
By the way, this tour was great to improve my Spanish. Yeah, you read it: Spaaaanish. I'm from Brazil, and we speak Portuguese there. And Brazil is the only country in Latin America that speaks Portuguese. To improve my learning, at every country I visited I tried to learn local slangs. So for each city, I did a special slide for Java EE 7. Really, you gotta learn local slangs to be cool with a 2nd/3rd language :-P Anyway, it all started on July 21st in the morning...

Mexico City (DF), Mexico - July 26th
Spanish Lesson Part 1
By the way, chingar is a word in Mexican Spanish that means a lot of things, both for good or bad contexts. It can be used so widely that there is even a "chingonary", or a dictionary on how to use it, that I had to buy one for me in a local bookstore. In this case, it means "Java EE 7 has so many new technologies inside", but of course using a slang, almost a swearing word :P
![]() |
Pictures: Facebook or Google+ |
Guadalajara, Mexico - July 27th
Guadalajara was not part of the official OTN Tour. Actually, it was an Oracle Java Day organized by the local Oracle office, with people from the Oracle Curriculum Development Team and where some of the great content of Oracle Learning Library is coming from. This conference was led by Edgar Martinez and I can't say how thankful I am. Edgar and his team did a great job. Everything was perfect: the great staff team, pizza for lunch, the office, the setup, the trail, and last but not least, the happy hour! Edgar blogged about this as a guest at Java blog, so you may want to read more about this there. Here I gave my Java EE 7 talk, and the hands-on. A lot of people showed up!
Santiago, Chile - August 1st
Santiago is an incredible city. It holds about 30% of the entire population of Chile, and I would guess perhaps more than 50% of the entire economy there. It is one of the most modern city, with great infrastructure and easy access to several touristic places. It was where I could enjoy a tourist-like day, so expect to see regular pictures. :P
Spanish Lesson Part 2
The term bacán in Chilean Spanish means "cool". I had to change my slide here.
The conference here happened at a very nice university, close to a subway station, and here I gave my Java EE 7 talk the hands-on again, and then the GlassFish in Production Environments. I met with great people here both from Oracle User Groups as well some people from the local Java community. It was also where I first met and talked to Tim Hall, really great guy, Oracle ACED, an expert on Oracle Database. If you have any questions about OraDB, follow him on Twitter and check his website, oracle-base.com.
![]() |
Pictures: Facebook or Google+ |
Lima, Peru - August 3rd
One day after Santiago, I was flying to Lima for the third country of my list. Lima has really nice areas, like Miraflores so if you plan to visit Peru one day, make sure you stay there to enjoy the best view of the Pacific Ocean. For night life, visit Barranco, full of bars, restaurants, and nightclubs.Here I gave my traditional Java EE 7 session, catch up with local Oracle people, and had perhaps one of the crowdest room in the whole tour. The question I made to the attendees in the picture below was: "Did you like the new stuff in Java EE 7? Raise your hand if yes!!!"
![]() |
Pictures: Facebook or Google+ |
The term chévere in Peruvian Spanish means "awesome". It is similar to bacán from Santiago, Chile. But people here prefer to be different. :-) So I had to change my slide again.
More next week
I still have to talk about was this tour in Argentina, Montevideo, and finally Brazil. But I will leave that for the next post.
By the way, to keep posted on this, follow me on Twitter! Or Google+... Or Facebook... :-)
04 junho 2013
Promote Java EE 7 and GlassFish on your Twitter
The launch of Java EE 7 is right ahead. On June 12th we will hear from Oracle executives and evangelists what's all about the new version of the platform. The Live Webcast "Introducing Java EE 7 " will have two sessions, and all you need to do to join us and watch Arun Gupta and others, is to go to this webpage and sign up. Also, don't forget to check GlassFish's blog, you know, because it's the reference implementation of Java EE! :-)
But if you really, really love Java EE and really, really want people to join us, why don't you also promote the launch on your Twitter account? Use this background image that fits very nice on your profile, and also don't forget to set the background color to #517E9C.
Let's Make The Future Java... Together!
via Java and everything https://blogs.oracle.com/brunoborges/entry/promote_java_ee_7_and
Assinar:
Postagens (Atom)
| |||
|