Miles to go …

April 14, 2011

JAX London Spring 2011 Trip Report

Filed under: General — arungupta @ 6:54 am

Sebastian Meyen, the chair of worldwide JAX Conference kick started JAX London 2011 with a very passionate opening session highlighting that JAX is all about Java, that they are comitted to Java, and not going to dilute the content. This is the 10th year of JAX conferences. Even though originally the word JAX was coined as an acronym for "Java Apache XML" indicating the open source nature and everything XML around Java but now its more popularly known as JAX.

The successful recipe for the JAX conference is "passion for the Java platform & ecosystem" and "a pramatic mix with development, architecture, agile, and other concepts around Java". In Sebastien’s words "Java is a huge stake, heavily growing, innovating and worth focusing on it" and is a "rich environment for innovation". The JAX Innovation Awards giving $10,000 for the most innovative contributions to Java further proves their commitment to Java. Do you have the most innovative Java technology, most innovative Java company, and the top Java ambassador to recommend ? Submit now!

The first keynote of the day was by Dan North on the "Patterns of Effective Delivery". He highlighted several design patterns and the key ones were:

  • Spike and Stabilise – "Spike" is the non-TDD code written during the development cycle and then TDD applied to stabilise it for production.
  • Ginger Cake – About me legitimizing copy/paste, look for abstractions afterwards. Start WET and then DRY it.
  • Create Urgency – Create lots of instances where you are surprised, optimize for deliberate learning than for deliberate practice. Create an urgency for yourself for technologies that are genuinely useful. Difficult to change your thinking consciously, need a crisis.
  • Socratic Testing – Using the process of automated tests to draw out knowledge about the code.
  • Fits In My Head – Keeping the design small enough such that the entire design fits in your head, then you can reason the whole thing.

Being the chair of Java EE track, I spent most of my day attending the sessions there. The first session by Ales Justin explained how to run a Java EE application on Google App Engine. His slides are available below:

Ales explained his experience of building a sample application using JPA2, JSF2, Bean Validation, delpoing on GAE. The slides very well capture the restrictions of the platform and how he worked around them. The GAE API was even abstracted such that a pure Java EE application can be written and thus be portable across multiple application servers.

David Blevins’s session on Fun with EJB 3.1 and Open EJB was indeed a lot of fun. He provided a good history of how the EJB and OpenEJB have evolved over years. There were lots of code samples highlighting the ease-of-use improvements done in EJB 3.1such as @Stateless, @Schedule, @Asynchronous, @Singleton, Embeddable EJB API and many others. I particularly loved his statement:

People who complain about EJB are stuck in 2005 and believe ignorance is my pride.  Its testable, light, and pretty great!

Seriously, if you complain about EJB being heavy, non-functional, incomplete, the following code fragment is all it takes to create an EJB:

@Stateless
public class MyEJB {
public String myMethod(...) { }
}

and that too packaged in a WAR file, no deployment descriptors or any special packaging. Do you still think its heavy weight ? Think again!

David’s slides are available below:

Doug Clarke talked about "Java Persistence API 2.0 with EclipseLink", Joseph Shum talked about "Integrating Enterprise Applications into Liferay Portal", and then Dan Allen talked about "Using CDI Extensions to make a better Java EE". Dan showed several examples of how CDI extensions can be authored easily to extend capabilites of the existing platform. Their slides will be available on jaxlondon.com.

And I also gave two presentations:

  • GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment
  • OSGi-enabled Java EE Applications using GlassFish (in the OSGi track)

The first talk explained how several features in GlassFish 3.1 such as:

  • Deploy-on-Save (in NetBeans and Eclipse)
  • Active Redeploy (preserve sessions across re-deploys at CLI or NetBeans and Eclipse)
  • 29% better startup/deploy/redeploy cycle
  • Application runner (java -jar glassfish.jar foo.war)
  • Maven integration (mvn gf:run, gf:start, gf:deploy, etc)
  • Embedded GlassFish

and many other features make GlassFish an extremely productive development environment for your Java EE 6 applications. And then features like:

  • High Availability, Clustering
  • Centralized Administration
  • Application-scoped Resources
  • Application Versioning
  • 33% better High Availability performance
  • Better scalability – upto 100 instances per domain
  • RESTful monitoring and management

make it an equally compelling deployment platform. The slides with all the details are available below:

Where are you deploying your Java EE 6 applications ?

The second talk explained the why/how of OSGi-enabled Java EE applicatins. The slides are available below:

The first few slides are OSGi introductory so jump ahead to slide #22 for all the interesting stuff. The screencast #38 showcase how to build an OSGi-enabled Java EE Applications using Eclipse and GlassFish and comes with the complete and detailed instructions. The screencast #32 shows the same using NetBeans.

The day ended with a 1.5 hrs interactive Java EE 6 hackathon and more details on that in a later blog.

Here are some pictures captured from the London visit:

And the complete album is available:

Technorati: conf jaxlondon javaee6 osgi glassfish cdi gae google ejb openejb liferay

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

April 8, 2011

TOTD #159: How to add login/password to Admin Console in GlassFish 3.x ?

Filed under: General — arungupta @ 10:24 am

The default behavior of Admin Console in GlassFish 3.1 is to not ask for a login/password. This was done as a convenience to developers with the expectation that production installs will secure the admin user. You can secure it again by going to (in the admin console):

Configurations -> server-config -> Security -> Realms -> admin-realm -> Manage Users

You can either give ‘admin’ a password, or add another user. Read more on users@glassfish.

Technorati: totd adminconsole security glassfish

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 29, 2011

NetBeans 7.0 RC1 is released

Filed under: General — arungupta @ 6:37 am

Check out NetBeans 7.0 New and Noteworthy and the bundles matrix below:

Download now!

Technorati: netbeans

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 26, 2011

Eclipse Con 2011 Hands-on Lab delivered: OSGi, JavaEE, GlassFish, Eclipse a powerful foursome

Filed under: General — arungupta @ 8:00 am
Sahoo and I delivered OSGi-enabled Java EE Applications using GlassFish and Eclipse Hands-on Lab at Eclipse Con 2011 earlier this week. The conference had an excellent line up of sessions, speakers, receptions and I wanted to engage but could attend only one day. The keynote on the third day titled "The Java Renaissance" was jointly delivered by Mark Reinhold, Chief Architect of the Java Platform group at Oracle and John Duimovich, Java CTO at IBM. Read more coverage of the keynote and Oracle’s participation here.

The hands-on built a simple User Registration and Authorization application and showed different combinations of OSGi and Java EE development and deployment in GlassFish. The first step was to to deploy a simple OSGi service and client in GlassFish. Then the OSGi client was replaced by a Web Application Bundle (aka hybrid application) which used @OSGiService for dynamic discovery, bind, inject, and track the OSGi service (more details in TOTD #154). Then the service bundle was replaced by a JavaEE application using EJB and JPA. There were detailed instructions (PDF) to go through all the exercises. The screencast #38 (video) walks you through building the entire application, the video inlined here too:

About 35 attendees were able to make progress after the spotty Internet connection started working. The 5 USB sticks provided by Eclipse Con turned out pretty handy to pre-load all the software requisites. We shared a zip of our ".m2" directories and "m2eclipse-*" plugins directory for the folks with no Internet. The high point for me was when one of the attendees finished the entire lab in a little over an hour and left. That also helped us assess the quality of document which we tried to make pretty self explanatory. We found one missing instruction from the document and have already fixed it. Overall, about 60% of the attendees completed the lab and rest of them left with partial setup and instructions. Let us know if you attended the lab and found it useful.

Many thanks to Doug and Ankush, the Student Assistants assigned by EclipseCon for our labs, to help attendees keep chugging along!

I was also "lucky" to win a BlackBerry 9670 smartphone + remote stereo bluetooth gateway + international charger + headset. The RIM folks told me that this worth $700 but Amzon sells the raw phone for $19.99. The total cost comes out way under $100 even after including all the accessories. Anyway this device runs only on Sprint so of no use to me. Are you interested in purchasing ? :-)

The reception in the evening (typically the best part) was great and gave me a chance to socialize with several folks. Here are some pictures captured from the event:

Technorati: conf eclipsecon osgi javaee glassfish eclipse

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 25, 2011

GlassFish is Hiring in Prague – Installer Framework & Tools

Filed under: General — arungupta @ 11:18 am

GlassFish is thriving very well under the stewardship of Oracle!

The GlassFish 3.1 with full clustering and high-availability for Java EE 6 applications was released recently, the Java EE 7 JSRs were recently approved with flying colors, work has already started on GlassFish 3.2 to enable virtualization and PaaS capabilities, GlassFish 4.0 will align with Java EE 7 and released along with it in Q3 2012, and so there is lots of excitement and new work in the months to come.

And to support these growing needs the GlassFish team needs smart engineers like you at our Prague location!

There are several open positions and here is a brand new one to build the installer framework and associated tools. The key job requirements are:

  • Contribute to the design and development of installation/uninstallation programs for GlassFish
  • Design, develop and maintain frameworks and programs to install the binaries, configure GlassFish Server and upgrade existing binaries
  • Work with cross-functional teams such as documentation, performance and quality
  • Innovate and contribute at a very high pace in an open source project

Do you want to work the most popular open source application server ?

Do you want to work on the cutting edge technologies ?

Do you have it in you to make a difference ?

Apply now! or send your resume to Sathyan.Catari@oracle.com.

Technorati: glassfish hiring prague installer jobs

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 24, 2011

TinyHabit: Managing your healthy lifestyle using Java EE 6 & GlassFish

Filed under: General — arungupta @ 2:38 pm

Subraya Mallya has launched his latest venture, tinyhabit.com, using Java EE 6 & GlassFish 3. Watch all the details in this short video:

A more formal story is coming soon!

Technorati: stories glassfish javaee6 tinyhabits

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 23, 2011

Screencast #38: “Developing OSGi-enabled Java EE Applications using GlassFish” Tutorial at EclipseCon 2011

Filed under: General — arungupta @ 1:53 pm

This screencast provide detailed instructions on how to develop OSGi-enabled Java EE Applications using GlassFish and Eclipse which will be delivered as a 2-hrs tutorial at the EclipseCon 2011.

You can download the required software and follow the detailed instructions (PDF) along with this screencast. Enjoy the screencast in HD in the full-screen mode:

Here are some time lines in case you want to move around in the screencast:

Introduction & Software Installation 0:00
Exercise 1 (Simple OSGi Service and Client) 2:42
Exercise 2 (Web Application Bundle) 11:57
Exercise 3 (EJB OSGi Service) 27:28
References 40:10

Many thanks to Doug & Ankush for an extensive review of the instructions!

Let us know your feedback by posting a question to the GlassFish Forum.

Technorati: conf eclipsecon osgi javaee glassfish eclipse screencast

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 22, 2011

Eclipse Con 2011 Tutorial #1987 Software Prereqs: Developing OSGi-enabled Java EE Applications using GlassFish

Filed under: General — arungupta @ 11:00 am

Sahoo and I are delivering a tutorial on Developing OSGi-enabled Java EE Applications using GlassFish at EclipseCon 2011 tomorrow.

Date ? Mar 23, Wednesday
Time ? 2 hrs starting at 3:50pm
Where ? Stevens Creek

This blog provides a complete list of software that needs to be downloaded and pre-installed in order to actually spend time on building the application during the lab.

Please install the software following the instructions below. The complete tutorial + a screencast showing all the instructions to build the application will be shared on this blog tomorrow.

  1. Download and extract the source bundle for the tutorial from http://blogs.sun.com/arungupta/resource/osgi-gf-econ-2011.zip. Expanding the folder creates a directory “osgi-gf-econ-2011” with the following structure:
    bin/
    common/
    parent-pom/
    pom.xml
    simple_client/
    simple_service/
    

    The directory structure is explained later in the tutorial.

  2. Download Java EE 6 Web Profile SDK Update 2 and Install
    1. If you have JDK 1.6.0 pre-installed on your machine then download the bundle “without JDK”.
    2. If not, then download the “with JDK” bundle.

      Make sure GlassFish is installed in a directory with no white spaces in the directory name. Otherwise the web-based Admin Console may not function properly.

      For convenience, make sure to include “glassfish3/bin” in the system PATH. This can be done using Control Panel in Windows and in a shell in Unix-flavored machines. Note, make sure that GlassFish is installed in a directory with no white spaces in the directory name.

      Also set the environment variable JAVA_HOME to point to the location of the JDK installation and include $JAVA_HOME/bin in the system PATH. Note, this will be %JAVA_HOME%\bin on Windows-based machines.

  3. Typically Java EE SDK installation starts the GlassFish server for you. However if it has not started then it can be started explicitly by giving the command

    “asadmin start-domain”.

    The “–verbose” switch may be specified on the command line to view the log output in the console otherwise the logs can be seen in the “glassfish3/glassfish/domains/domain1/logs/server.log” file. Visit “http://localhost:8080” to ensure that the server is up and running.

  4. Enable OSGi features in GlassFish by executing “config-gf-osgi.[bat|sh]” script in the “bin” directory of the source bundle extracted above.
  5. Start the database as “asadmin start-database” in a separate window.
  6. Download Eclipse Helios for Java EE Bundle and install.
  7. Install the m2eclipse "core" plug-in from http://m2eclipse.sonatype.org/sites/m2e, and only 3 of the m2eclipse "extras" from http://m2eclipse.sonatype.org/sites/m2e-extras including Maven Integration for Eclipse Extras, Maven Integration for Eclipse WTP, and Maven OSGi development (not Maven Integration for Subclipse). Complete installation instructions are available at http://m2eclipse.sonatype.org/installing-m2eclipse.html. Restart Eclipse after the install is completed.
  8. Maven 2.2.1 – can be downloaded from http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-2.2.1-bin.zip.
  9. Make sure to set the environment variable MAVEN_HOME to point to the location of the Maven 2.2.1 installation. This will allow you to use the Maven commands from the CLI.
  10. Configure Maven 2.2.1 in Eclipse – In “Eclipse”, “Preferences…” menu, search for the “maven”, select “Installations”, click on “Add…”, and select the location of unzipped Maven 2.2.1 directory.

See ya tomorrow!

Technorati: conf eclipsecon osgi javaee glassfish eclipse tutorial

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 18, 2011

Spark IT 2011 Trip Report

Filed under: General — arungupta @ 10:52 am
Spark IT 2011, second annual multi-platform developer conference of CIOL, concluded earlier today. There were about 600 attendees learning about Java, .NET, Cloud and other technologies.

It was interesting listening to James Duncan Davidson about the history of Tomcat and Ant. He explained who the first version of Ant was written in a flight from London -> San Francisco and was primarily written to build Tomcat. He also talked about Java Web Server, Tomcat, and much other history behind these two tools. Misko Hevery talked about <anuglar/> as the revolutionary way to build web apps and this is something I need to try.

Here are the slides from different sessions + hands-on lab that I presented:

Context & Dependency Injection in the Java EE 6 Ecosystem

Its always good to meet the usual set of speakers. Here is some feedback received from the audience on Day 2 about the event:

  • First 2 sessions were good, last 2 sessions were boring
  • Enlightening session from Duncan, everything well organized, sessions were informative
  • Session about angular was very nice, saw the difference with jQuery
  • It was very nice, Javabeans by Gupta and angular was "very fine"
  • Will come back again next year
  • Have the event on Friday/Saturday

Check out the pictures captured …

The conference coincided with two major events in India – first the Holi, the festival of colors, falls on the coming weekend and second the Cricket World Cup 2011 is in a very interesting state right now with three teams yet to qualify for quarter finals with only two matches remaining. So you could see colors being sold at different parts of the city. And then the fever that runs in the mind of every Indian was evident with TV screens showing live telecast of matches every where. And just so that you can live the spirit of World Cup little, here is the anthem to enjoy:

May the best team win the world cup and I hope India shows its prowess this time :-)

And the complete set of pictures …

ype="application/x-shockwave-flash" width="288" pluginspage="http://www.macromedia.com/go/getflashplayer" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" />

Technorati: conf sparkit india bangalore javaee6 glassfish netbeans

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

March 17, 2011

QA# 11: Java EE 6: Do more with less, No effort to create enterprise application – by Marcus Kara

Filed under: General — arungupta @ 12:30 am

This Q&A session is part of the community feedback on Java EE 6. So far the highlighted benefits are:

  • QA#1 – Standards compliance, vendor independence, milliseconds and kilobyte deployment.
  • QA#2 – Higher integrated specifications, simple and annotation driven, single-classloader WARs. Next level of industry standard
  • QA#3 – Jigsaw puzzle, Modular, standard, less xml, easy, easy, have I said easy?
  • QA#4 – Developers can concentrate on business logic, JavaEE6 is providing a standard for the infrastructure.
  • QA#5 – Faster development, less frameworks, less complexity, more great code shipped.
  • QA#6: Not your fat grandfather’s enterprise Java anymore, enterprise Java renaissance
  • QA#7: Scripting framework like productivity based on standards
  • QA#8: Definite excuse to avoid Spring forever
  • QA#9: XML-less, annotated POJO, light app servers, EJB-in-a-WAR
  • QA#10: Simplified Java Development, Focus on building great products
This entry comes from Marcus Kara who is 25 years old, living in The Netherlands with his wife & 1 year old daughter. Software developer for living for over 4 years. Really interested in technology in general and also did electronic engineering in the spare time, but there is a little spare time with a child.
He likes Java because its platform independent (in a "the write once, run anywhere" way and vendor independent way) and there is a real eco-system around Java. The possibilities are endless (for some people this is a reason to not choose Java :-) ). 
The WORA concept of Java really impressed him when he bought a 100 Euro NAS (Lacie NetworkStorage 2, simple ARM-based NAS) and started GlassFish v3 on it. It just runs without any hassle. He is called "idiot" for running an enterprise app server on a NAS :-) .

Here is a short summary of Java EE 6 from him:

Do more with less! It’s almost no effort to create an enterprise application.

Keep reading for the fun stuff …

1. How are you using Java EE 6 today ? What limits your adoption ?

We’re currently using Java EE 6 for all new Java projects. Since we have some small projects we can choose our platform every time we have a new project. I was using Java EE 5 before Java EE 6 was out. We started to create Java EE 6 applications about a year ago. First application in production is now about half-year ago. Since Java EE 6 has so many advantages over Java EE 5 we quickly adopted Java EE 6, honestly without limits.

2. What Java EE 6 technologies are you using and why ?

Currently we use the web profile for our applications, it’s really lightweight (if you compared it to a full Java EE 5 app server). We’re trying to get the most out of the platform, so grab the new possibilities with both hands. Since we were using Facelets also on JSF 1.2 it’s no surprise that we love using JSF 2.0. The f:ajax tag really rocks and works! Also the lack of faces.xml configuration also simplified development. The new version of JPA with better cache handling also improves our application performance. The feature what I really like is definitely CDI, Injection & Validation are things we were really missing in the Java EE API.

3. What is your development and deployment environment ?

We develop our applications in Netbeans 6.9 on a local Glassfish v3.0.1 installation. The in-place deployment feature of Netbeans & Glassfish speeds up development, no need to wait a long time if you made a change in your code.

Our deployment environment currently:
Test: 1x Glassfish v3.1, 1x Glassfish v3.0.1
Production: 1x Glassfish v2.1 cluster (3 nodes), 1x Glassfish v3.0.1 server, currently planning an upgrade of our Glassfish v2.1 cluster to Glassfish v3.1.
We mainly use MySQL as our RDMS, but we also have a lot Oracle & MS SQL servers. These are mosly used for getting data.

More details on the GlassFish production deployment coming in a separate entry.

4. What previous versions of Java EE / J2EE have you used ? How has the migration to Java EE 6 benefited ?

As mentioned by question 1, we’re using Java EE 5. I looked to SpringSource but a migration would take some time and I really don’t like all the xml configuration of the beans in Spring (I don’t know what the current status is). The migration from Java EE 5 to Java EE 6 has a lot of benefits, most important one is that the platform is much more efficient in an development way. Less hassle and do more. The API’s included in Java EE 6 (almost) don’t require to use other frameworks/libraries.

5. Describe the benefits of Java EE 6 to you in 120 characters.

Do more with less! It’s almost no effort to create an enterprise application.

6. Advice for anybody who is looking at Java EE 6 for their next project ?

You should definitely use the CDI API. The first one I created a project on JSF2 and JPA without CDI. After Alexis Moussine-Pouchkine inspired my at the J-Fall 2010 conference I took some time to get into CDI and really loved it!

7. What new features you’d like to see in Java EE 7 ?

Built-in kind of @ViewScope (JSF2 annotation) also in CDI. Built-in SeamFaces.

Thank you Marcus for taking time to prepare the answers!

Are you developing, deploying, consulting, training, authoring books, etc in Java EE 6 and would like to express your opinion in a similar format ? Drop acomment on this blog and I’ll line you up for the Q&A session :-)

The Java EE 6 hub is your key resource to learn all about the technology.

And you can always try all Java EE 6 features in GlassFish and refer to an extensive set of Java EE 6 & GlassFish demos.

Also check out our youtube channel and follow us on @glassfish.

Technorati: javaee6 community feedback markcuskara glassfish v3

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot
« Newer PostsOlder Posts »

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
Powered by WordPress