JavaOne 2009

Saturday, June 6th, 2009

I made the trip out to San Francisco this past week to visit a client and also attend JavaOne.  It seemed like an interesting time to attend JavaOne with the looming Oracle acquisition of Sun Microsystems.  I attended most of the key note sessions including the one which featured Scott McNealy and Larry Ellison on stage together.  I thought their interaction on stage was forced and not very genuine, but would I have expected something different?  No, I figured Scott McNealy would be sad and Larry Ellison not showing any feeling at all.  This was the case.   I was surprised that Oracle did not even have a key note slot this year.  Perhaps, this was because of the pending (not yet finalized) acquisition?

One of the more exciting key notes was the Sun key note when they released the Java Store, something similar to the Apple App Store, but for desktop type applications.  The reason why it was exciting to me was that our very own Sten Anderson’s MusicExplorerFX JavaFX application made the key note.  Yes, it was right alongside James Gosling’s solitaire application!   See the key note screen shot here. Come back soon to my blog to catch a review of Sten’s MusicExplorerFX.

The purpose of this blog post is to share with my readers the sessions I attended along with short commentary.  If one of the sessions I attended looks interesting to you and you would like to learn more about them, feel free to contact me and I would be happy to share what I had learned.

Enterprise JavaBeans 3.1 Technology Overview
This was a good session to attend as it provided a nice overview of new things coming in EJB 3.1.  Boy, the EJB specification has come a long way since 1.1!

Using REST and WS-* Together for SOA
This was a session given by the JBoss CTO, Mark Little.  He did a very nice job providing an architectural comparison between WS-* and REST.  I could tell he was a much bigger fan of WS-* than REST, but knowing his background in heavy, formal and transactional based systems, this was not a surprise.  Mark was a good speaker and was not afraid to speak his opinion so the session was colorful.

SOA Deployment Challenges in the Real World
Sastry Malladi, Distinguished Architect with eBay gave a great presentation on a real-world case study of SOA at eBay.  I thought he did a great job with the presentation from the layout of the slides to the delivery.  It is interesting to go to these real world type sessions and learn that folks like eBay have successful SOA implementations without using 3rd party SOA/ESB/etc. products.  Governance outside of any vendor’s product is the most important quality of any SOA initiative.  eBay’s governance model is based on (1) design time governance, (2) process governance and (3) runtime governance.  If your organization has an active SOA initiative, be sure to look this presentation up when Sun makes it generally available to the public - if you can’t wait, contact me and I would be happy to share what I have learned.

An Introduction to Complex Event Processing (CEP) on the Java Platform
This was a session put on by Oracle’s CEP product manager and side-kick engineer.  I was pleasantly surprised by the session and enjoyed hearing about Oracle’s CEP strategy.  They project this market to be a $1B+ industry soon (as IBM does as well).  The demo of an emergency management application they did for the UK was impressive.  I found it interesting that they were using Spring’s dmServer versus one of their JEE app servers (WebLogic, 10g AS) for the part of the application that interacted with the Oracle DB’s Advanced Queuing.  They sited needing a “lighter weight” and least latency option caused them to leverage the dmServer.  The application featured a Flex + Google Maps front-end to show the end user visually the status of assets during an emergency.

Building Rich Internet Applications with the JavaFX Programming Language
This session opened up my eyes to using JavaFX + JBoss Seam. The presenter, Max Katz is a Exadel engineer.  He discussed using Flamingo as “glue” between a JavaFX UI and a Seam or Spring MVC backend.

Developing RESTful Web Services with JAX-RS
This was a great session.  Marc Hadley and Paul Sandoz, both spec leads of JAX-RS did a great job presenting this material.  They first went over the basic REST principles, then went into several examples/demos featuring the use of JAX-RS.

Designing and Building Security into REST Applications
This session talked about how the OpenSSO team secured their REST based services. It was a very interesting session and I thought the Sun engineers did a great job presenting the subject. They spent some time talking about oAuth, a leading protocol providing secure API authorization for desktop and web based applications.  If you did not goto JavaOne this year, be sure to download this presentation when Sun makes all of the presentations available for the general public.

Pro JavaFX Platform: RIA Enterprise Application Development with JavaFX Technology
This was somewhat of a let down.  I saw “Pro” in the title, but then found out after being at the session for the first 10 min that it was a Jim Weaver session and his book is called “Pro JavaFX”.  The session was not “Pro” at all and neither did it address the “Enterprise Application” space.  The code and related demos were all more like a typical Flash movie and not a typical enterprise application.  The session went too slow as well- and I am not even close to being a JavaFX expert (Visit Sten’s blog if you want that).  The session was very similar to a session I attended at the TheServerSide.com conference in Las Vegas a year or so ago.

The New World:  JavaFX Technology-Based UI Controls

Good session.  The presenters talked about the newly released control library for JavaFX.  Something I think should have been delivered in the 1.0 release.  I did find it disheartening that they did not include a grid nor combo box in this release.  When someone asked them about why, they responded “hey, we only had x amount of time and did not have the resources”.  If they want JavaFX to be a serious contender for developing UIs for enterprise apps, they better have a data grid and combo box!  Perhaps the mighty Oracle can add a couple developers to the team and accelerate the delivery of those much needed controls :-).

RESTful Transactional Systems
I had very high hopes for this session in that I was hoping that Mark Little (JBoss CTO) was going to be the presenter.  He did the introduction, but then handed it off to Michael Musgrove, a JBoss transaction expert. He seemed to be very competent, but the delivery was just not there - he mumbled quite a bit and did not engage the audience very well. I left the session early to tend to my email inbox.

The Web on OSGi:  Here’s How
I liked this session.  Don Brown, a Atlassian architects was the presenter.  He discussed how to embed OSGi into your web application using examples based on how they did it with their products to enable a highly functional plugin system.  I am a big fan of Atlassian products as we run Confluence (Enterprise Wiki) and Jira (task and bug management) at CITYTECH.   On a separate but related note, Atlassian’s Confluence 3.0 and Jira 4.0 look like very good.  I know we’ll be upgrading Confluence to v3.0 and will be looking forward to the Jira 4.0 GA release in the coming months.

Web 2.0 Security Puzzlers:  Genuine Security Vulnerabilities or False Positives?
I found myself a bit distracted during this session. It could have been that I just needed a coffee or my inbox was starting to fill up again and I needed to give it some attention.  The presenter was the chief security person at Intuit and it seemed like he knew what he was talking about.  He challenged the audience by presenting possible security vulnerabilities and then asking whether the case was genuine or a false positive.

JEE 5 in a National Electronic Health Record System Implementation
This was a good session although I wish the speaker went a little faster and talked about more details on the application.  It was very interesting to know that his team had actually implemented a health record system for an unspecified geographical location (somewhere in Europe I assumed).  His presentation provided a nice overview of how they leveraged JEE 5 to provide the technology framework for implementing the system.

A Java Persistence API Mapping Magical Mystery Tour

THis session was done by an Oracle engineer.  He did a great job given an overview of JPA 1.0 as well as new features being offered by JPA 2.0.  His presentation style was good and the content was nicely assembled as well.  My collegue who had been using JPA 1.0 for the past few months was somewhat bored of the 1.0 overview, but was excited to learn the new features of 2.0.

JBoss AS5 Microcontainer Architecture
I was about 30 min late to this session due to a conference call, but was still happy to catch the 2nd half of the session.  Aleš Justin from JBoss was the speaker.  The big take away from the 2nd half of the session I attended was that the JBoss AS5 Microcontainer is highly extensible including a sophisticated class loading mechanism, virtual deployment framework and tight JBoss AOP integration.  Additionally, I was happy to hear Aleš mention that the AS5 Microcontainer had nearly 100% test coverage - something he stressed was important for validating the functional requirements but also as a way for someone to learn more about the AS5 Microcontainer by simply reading through the tests.  JBoss AS5 is generally available now from jboss.com, or specifically here (http://www.jboss.org/jbossas/downloads/).

All in all, it was a nice trip.  No big announcements or surprises, but that was no surprise.  We’ll have to wait and see if the show will be named OraJavaOne next year :-).  I hope that at least they add a couple developers to the JavaFX control library team so that grid and combobox controls are available before the next JavaOne or should I say OraJavaOne :-).

posted by Matt Van Bergen

Upcoming Events

Sunday, March 15th, 2009

We had a great first two months of the year, participating in our first Virtual Tradeshow with JBoss, pulled off a great Alfresco Code Camp and saw the Chicago Groovy User Group (CGUG) get off to a great start in January with Sten Anderson presenting on a real life case study of how he integrated a Groovy DSL into a Java SE application.

We are not done yet!  We are participating in the following events in the coming months:

  • TheServerSide Java Symposium - CITYTECH’s Shane Johnson has been asked to talk about his CMIS Explorer and JavaPockets open soure projects he started in early 2009.   If you are planning on attending this year’s TheServerSide conference in Las Vegas, check out Shane’s presentations.
  • CITYTECH Networking Social - CITYTECH is hosting a casual networking event on Wednesday, March 25, from 6-9pm at English Pub in Chicago’s River North area at 444 N. LaSalle.   Drop on by and have a beer on us.

Feel free to contact me if you have any questions or want more information.

posted by Matt Van Bergen

JBoss Reports Record Number of Downloads…Why?

Tuesday, February 17th, 2009

I received my monthly JBoss Developer Newsletter the other day.  Not surprising, it referenced a record number of downloads of the JBoss Application Server 5.0 in December.   According to the JBoss AS 5 SourceForge project statistics page, from Oct-2008 to Dec-2008, there was an average of 122,000 downloads per month with a peak of 127,000 in December.  They cited December as being the highest ever download rate in JBoss’s history!

Why so much popularity?  Here are my thoughts on the subject:

  • Red Hat’s subscription model for JBoss provides the enterprise caliber hardening and support that the other players such as IBM and Oracle provide minus the initial license fee.  Red Hat has a $2.62B market capitalization and did $650M+ in revenue last year.  I don’t think Red Hat customers are worried if Red Hat will be in business tomorrow and this has made JBoss a no-brainer given its cost savings over the competition.
  • Upon the acquisition of of the BEA WebLogic product family, Oracle has raised the support costs (up to 20%) for existing WebLogic customers with no additional product value.  Old BEA customers are asking themselves why they should pay more for support for no gain in functionality?
  • The Java Enterprise Edition (JEE) application server could be seen as a commodity at this point.  The only way an application server vendor can differentiate themselves is by developing proprietary layers on top of the standard JEE application server.  This may have been popular during the hay days of BEA, but organizations are feeling the pain of being stuck on proprietary technologies promising themselves they won’t do it again.  JBoss provides a solid platform which adheres to the JEE standard at an economical price.
  • JBoss is a superior technical platform. The next time you walk into a large enterprise who may be using a non-JBoss application server ask the developers and architects which application server they would prefer.  In almost all cases they will say “JBoss”.  The reason?  Simple, you can download the application server, unzip and install in less than 10 minutes.   Sounds like child’s Play?  Well, maybe until you talk to Red Hat and learn that one of the most transaction intense financial trading applications runs on JBoss.

Expect to see more posts from me on the JBoss middleware platform in the future.

posted by Matt Van Bergen

Upcoming Events

Wednesday, January 7th, 2009

CITYTECH has definitely hit the ground running as we flipped the year from 2008 to 2009.  Here is a quick peek at some upcoming events CITYTECH will be involved in January and February.

1.  Chicago Groovy User Group (CGUG) - Bill Gloff, Jeff Palmer and Bryan Williams all CITYTECH consultants have started a user group dedicated to Groovy and related technologies.  The first meeting is scheduled for Tuesday, January 13th and will feature Sten Anderson a senior consultant with CITYTECH.  Sten will talk about a real world case study on how he has developed a Groovy DSL in a Java SE based enterprise application.

2.  Alfresco 3.0 Code Camp - CITYTECH will be putting on a free Chicago based code camp on Tuesday, February 3rd.  The seminar will consist of an overview of the latest Alfresco 3.0 release as well as hands-on exercises to get you up to speed on the latest Alfresco technologies including Surf, Share and Web Studio.   Keep in touch to get more details on the logistics such as time and requirements.

3.  JBoss Virtual Experience 2009 - CITYTECH is a sponsor of the JBoss Virtual Experience 2009 which will take place on February 11.  If you have not heard of a “virtual” tradeshow, you should check this out.  There is a nice lineup of Red Hat/JBoss speakers who will talk about some interesting subjects such as Open Source SOA, keeping enterprise application development moving forward in a down economy, JBoss on the cloud and more!   We’ll be virtually manning our booth between 7:30 AM and 5:00 PM CST, so stop by the CITYTECH virtual booth and see what we are up to as well!

Please stay in touch regarding the above events and don’t hesitate to contact me for more information.

posted by Matt Van Bergen

Motorola Enterprise Mobility Partnership

Wednesday, November 19th, 2008

CityTech was approved as a Motorola Enterprise Mobility Partner today.  We are excited about having this partnership in place as it will enable us to include Motorola’s vast line of mobile devices as a key part of the mobile solutions we develop for our clients.  If you have any questions regarding the partnership or want to talk mobility, drop me a line!

posted by Matt Van Bergen

Alfresco 3.0 Blog Publishing Feature (it works)

Friday, November 14th, 2008

I inadvertently posted an infamous “Test” blog post earlier today and was notified by a few of my blog readers!  Funny….I guess that new Alfresco 3.0 multi-channel blog publishing feature works!  I was demoing it for a customer this morning and forgot that I did that.

I hope to provide a more comprehensive review of Alfresco 3.0 sometime soon.  If you get a chance download it and give it a whirl.

posted by Matt Van Bergen

Content Management Interopability Services (CMIS)

Sunday, September 28th, 2008

Overview

If your passion is Enterprise Content Management (ECM), you probably have heard Content Management Interoperability Services (CMIS) will soon be released to OASIS as a standard content service interface.  I am happy to see such a standard emerge from some of the largest players of the ECM market including Documentum, IBM FileNet, OpenText, Oracle, SAP and both of our partners, Alfresco and Microsoft.

It is great to see Alfresco lead the charge being the first vendor to provide a draft implementation of CMIS at such an early stage of the standard.  As mentioned in John Newton’s blog, Alfresco has been preparing for this standard for some time after releasing the web script API in 2005.  I was not part of the CMIS specification development, but it is my opinion that the Alfresco web script API definitely influenced the CMIS standard which is confirmed by Alfresco already having a reference implementation available to the community.

In this blog I intend to provide a high-level overview of CMIS.  First I will briefly list the CMIS goals followed by a high-level technical view of what CMIS provides.

CMIS Goals

The CMIS goals below are taken directly from the specification.

  1. Allow applications to be built that can target one or more ECM repositories uniformly for basic content services.
  2. Provide a set of basic services enabling richer ECM applications and use cases.
  3. Allow for loose coupling between an ECM application and a repository.

These goals are straightforward.  After first reading them, all I could say is “Amen”.  I have created an image which I think shows not only a typical requirement in a larger enterprise, but also to show off how the CMIS standard can enable content to be ubiquitous in enterprises.

In the diagram above, the fictitious organization has three different content repositories:  (1) Alfresco, (2) Microsoft Sharepoint and (3) IBM FileNet.  At the top of the diagram there are three enterprise applications (i.e. ERP, CRM, Corporate Website) and for the sake of complicating this example to show the benefit of CMIS they each have been custom built using three separate development platforms such as Java, .NET and Ruby on Rails.   Before CMIS, each enterprise application would require a custom integration to each content repository.  Additionally, if the enterprise upgraded one of the repositories and the native API changed, the organization would need to go back to each of those enterprise applications and change the integration code.  With CMIS, the integration is standard for both the enterprise applications and the repositories.  No need to learn the API for three separate repositories - just learn CMIS.  After thinking through this, i believe the goals of the specification mentioned above have been fulfilled.

Technical Overview

CMIS describes the following:

  1. An abstract data model
  2. Set of abstract services
  3. Support for SOAP and REST protocols

Data Model

The data model consist of four (4) pre-defined root object types:

  1. Document
  2. Folder
  3. Relationship
  4. Admin Policy

The Document object can be versioned and searchable.  It consists of a set of properties (metadata) and optionally a content stream.   The Folder is a container object meaning it can contain other objects such as folders and documents.  A document can reside in more than one folder (known as
“multi-filing) or reside in no folder (known as “orphaned”).  The Relationship object is the link between two other objects (either Document or Folder).  The relationship object specifies a direction therefore a source and target objects must be defined.   The Admin Policy object can be applied to other objects such as the Folder or Document object.  An admin policy can be a list of ACLs, retention policy, etc.  The possible types of admin policies are not defined in the specification.  Only the root admin policy type is described.

Services

The basic CRUD (Create, Retrieve, Update and Delete) operations are supported for any of the four (4) object types described above.  It is important to understand that the services also apply to sub-types of the four (4) object types as well.

Beyond the basic CRUD operations, there are additional services specified in the CMIS standard.  These include Search Services such as being able to find all objects that are the source of relationship “x”.   Additionally, the standard supports the ability to apply or remove an Admin Policy from an object.

The service that I think will push CMIS ahead from an adoption perspective is the implementation of SQL like query capability services.  The CMIS implementation will employ a relational model which sits on top of the data model described above.  This relational model will map object properties to columns of a table enabling SQL 92 type query language for easy retrieval of content objects.

Conclusion

If you have had to integrate a repository such as IBM FileNet with another application you can easily see how CMIS can ease the pain. My hope is that CMIS will increase the value of enterprise content management (ECM) in organizations by enabling better integration of content repositories and enterprise applications users use everyday such as ERPs, CRMs, portals, etc.

posted by Matt Van Bergen

Social Networking Mashups

Saturday, March 22nd, 2008

I posted my first blog post on November 10th, 2006. The title of the blog post was Web 2.0 and it was a result of me attending the Portals & Collaboration conference in Boston, MA. It is interesting to go back and read this post. I gave a summary of what I learned to be Web 2.0 along with some thoughts on how Web 2.0 might help enterprises and traditional web applications. Well, here we are…silo social networking sites such as MySpace, FaceBook, etc are not enough anymore. I am not saying that MySpace and Facebook are going anywhere as there is definitely a place for them. However, I see users wanting more from the applications they use often.

Users are asking for Social Networking Mashups. My definition of a Social Networking Mashup is a mixture of traditional application functionality + social networking. For a typical large enterprise, this maybe a CRM application which provides the basic functionality of managing future and existing customer relationships along with a social networking aspect. The social networking aspect provides the ability for sales reps, marketing and customer support the ability to collaborate and share thoughts and ideas right along side the core CRM functionality.

I am not talking about this on just a theoretical basis. Here are some firsthand evidence that the need for social networking mashups are not only coming, but are here:

1. We at CityTech have seen a very common demand lately in that our existing and new clients are asking for a sprinkle of social networking functionality in almost every new application we are commissioned to develop.

2. Look at some of the new web applications coming online lately. You will see that many of them are providing social networking alongside of the functional aspects of the application. For example, Zecco.com is a free trading community. Zecco.com not only provides users the ability to execute trades and manage their portfolio, it also wraps this functionality with a community aspect. You can setup an avatar, profile yourself as a specific type of trader, participate in discussion forums, meet online friends that are possibly trading the same stocks as you, etc. Zecco.com does not charge any commissions for trading stocks just as long as you trade under a certain number of transactions per month. A common question about Zecco.com is how can these guys survive without charging any type of fee or commissions. Look at the writing on the wall! Zecco.com is providing trading functionality along with social networking. They know that if they can get people to sign-up for free trading that they can keep those users coming back by adding value to their experience through social networking. This will keep existing users coming back and also attract new users. I suspect that Zecco.com will primarily drive revenue with advertising and of course the interest or leverage they realize when users put cash in their account, margin interest, etc. This is a good example of a traditional web application providing a social networking mashup.

3. I read about a new startup called Ringside Networks. This startup is lead by Bob Bickel the former head of business development at JBoss as well as Bluestone which was aquired by Hewlett-Packard. Ringside Networks is building an open source, Social Application Server. According to Ringside Networks:

The Ringside Social Application Server is the first open source platform that enables website owners to build and deploy social applications that operate with existing website content and business applications while seamlessly integrating with social networks such as Facebook. Ringside Networks is going to enable any web site to enhance their communications with their user base by creating and deploying social applications, and expand it beyond by allowing web sites to integrate with the large social networks like Facebook.

Very interesting. I am excited to watch this product evolve as I can really see value in externalizing this functionality using APIs and being able to add the social networking aspects to existing and new applications in a modular fashion.

Being in the technology business is great. There is always something new to learn. Being in the technology consulting business is even better as we are constantly challenged to help our clients increase their value proposition to their customers through the use of technology based solutions such as social networking mashups. They are in demand now and they will continue to be in the future. We look forward to helping our clients integrate social networking into their applications and products as I believe it is a value add to any public or enterprise application. I look forward to anyone’s comments, perspectives and opinions on this subject.

posted by Matt Van Bergen

North American Alfresco Community Conference (Chicago)

Wednesday, February 20th, 2008

The Chicago weather definitely tried to challenge the attendance at the inaugural Alfresco Regional Meetup last week. Despite the snow and cold, roughly 45 people showed up. I thought this was pretty good considering the weather and that it was the first Chicago event for Alfresco. Here is a quick list of highlights taken from the event:

  • The meeting was kicked off by Michael Uzquiano (Alfresco) giving an in-person “Alfresco in an Hour” presentation.
  • Ian Howells (Alfresco CMO) presented the latest findings from the Open Source Barometer - a survey using opt-in data provided by Alfresco community members.
  • Matria Healthcare and CityTech (Jeff Brown) talked about the use of Alfresco in Matria’s next generation touch system.
  • TSGRP talked about a social networking proof of concept which uses Alfresco to store content related to a user’s network.
  • Michael Uzquiano (Alfresco) showed a demo of Alfresco’s website framework application. The demo was very impressive. The product walked the user through a series of questions related to the new website, then created a drag and drop based site for managing the content.  The framework passes JSON between the Alfresco Web Script tier (REST based services) and the web front-end for rendering and interacting with content. There was talk about whether this framework will be available via the Alfresco Forge or possibly even being rolled into the core Alfresco product. Either way, we can’t wait to get our hands on it as it has been a long time coming.

After the presentations were over, Alfresco sponsored a cocktail hour where some of the attendees stuck around, drank a couple beers and chatted about technology. A few of the CityTech guys (Jeff Schwartz, Jeff Palmer and Tom Kelly) ripped out their laptops and setup shop on the cocktail tables to show a couple more real-life examples of Alfresco centric applications. One of the applications the guys demoed is a contract management application we developed using Alfresco to manage a highly complex contract approval workflow (over 50 steps!) and related documents for a large municipality. The other demo showed how Hyperic (and open source enterprise application monitoring system) could be used to monitor the health of Alfresco through the use of Hyperic monitoring plugins. On a side note, it is amazing how the open source application eco-system is growing. There is great value in bringing the top tier open source applications such as Alfresco, Hyperic, Mule and JBoss together to provide enterprise caliber solutions at a fraction of the cost.

It looks like the next North American Alfresco Community Conference will be held in San Jose, California on March 12, 2008. We might actually have someone attending as Shane Johnson happens to be in the Bay area for a while working on a large WCM project. Hopefully, Shane can continue to carry the torch and blog on the west coast version of the North American Community Conference, so please check back to http://blogs.citytechinc.com often to keep up with the scoop!

posted by Matt Van Bergen

CityTech to Speak at 2008 TheServerSide Java Symposium

Saturday, January 12th, 2008

Our very own Shane Johnson has been asked to present at the 2008 TheServerSide Java Symposium in Las Vegas on Friday, March 28. Shane’s session will address the emergence of web content management and portal integrations specifically discussing his experience integrating Day’s Communiqué WCM and BEA’s WebLogic Portal. He will share his hands-on experience in web content management and portal integration by using a case study as the basis of the presentation.

We are excited to see Shane’s name in the same mix as Eugene Ciurana, Rod Johnson, Neal Ford, Ted Neward, etc. This is yet another example of a CityTech’s consultant being recognized as a leader in an emerging technology such as web content management and portal integration.

If you can swing a trip to Las Vegas for a few days in March, come on out and sit in on Shane’s presentation. I don’t think he can make any promises in offering any gambling advice, but there is a very good chance you will learn a few things about integrating a web content management system with a portal.

posted by Matt Van Bergen

CityTech Home